Está en la página 1de 10

DESARROLLO DE ALGORITMOS COOPERATIVOS PARA EL TRANSPORTE DE OBJETOS EN AMBIENTES CONOCIDOS

Renato Miyagusuku*, Jorge S. Paredes, Santiago J. Cortijo, Jos F. Oliden# *# Universidad Nacional de Ingeniera *rmiyagusuku@giscia.com jparedes@giscia.com # scortijo@giscia.com joliden@giscia.com

RESUMEN En el presente trabajo, el problema de optimizacin del transporte de objetos dentro de ambientes conocidos mediante sistemas multi-agentes es referido, con la finalidad de mostrar las ventajas principales que presenta el trabajo cooperativo en problemas no triviales como el mencionado. Se realizan simulaciones computacionales y se compara la efectividad del trabajo no cooperativo, el cooperativo parcial y el cooperativo total; considerando como criterio de medida el tiempo de ejecucin total de la tarea. Planeadores de trayectorias estocsticos son presentados para la navegacin dentro de ambientes con obstculos, as como un sistema de visin computacional para la retroalimentacin de informacin de los agentes y su medio; ambos aspectos necesarios para la implementacin prctica de la solucin propuesta. Palabras Clave: optimizacin, sistemas multi-agentes, algoritmos evolutivos, planeadores de trayectorias, Visin por computador. ABSTRACT Multi-agent optimization of object transport in known environments is addressed, in order to picture the main advantages regarding cooperative work in nontrivial problems like the one mentioned. Computational simulations are used to compare the effectiveness of non cooperative, partial cooperative and totally cooperative work; the total time needed to complete the tasks is used as the cost function. Stochastic trajectory planners are used to solve navigations issues that arise when obstacles are present at the environment; and a computer vision system is used to obtain feedback of the agents and their environment. Both aspects needed for practical feasibility. Keywords: optimization, multi-agent systems, evolutionary algorithms, path planners, Computer vision.

1. INTRODUCCIN El creciente inters en la resolucin descentralizada de problemas complejos ha empujado el desarrollo de sistemas multi-agentes; cuyos inicios se dan en la dcada de los 80s con [1-3] y cuya evolucin ha sido ampliamente documentada como en el caso de [4-6]. La gran ventaja de estos sistemas es la presencia inherente de caractersticas como la robustez, flexibilidad y escalabilidad [7], razn que los vuelve muy atractivos para la resolucin de estos problemas. En este marco, es que se plantea el anlisis de un caso particular; como el transporte de cajas, y se mide la efectividad del empleo algoritmos que potencien su efectividad. Dados un espacio de trabajo, y una cmara de video con la cual es posible visualizar la totalidad de dicho espacio; se desea realizar el transporte de N cajas utilizando un equipo de K robots mviles. Se pretende optimizar el tiempo de transporte, teniendo en cuenta la presencia de obstculos en dicho espacio de trabajo. Se utiliza la cmara de video como sensor de retroalimentacin de las posiciones y orientaciones de los mviles, y de los obstculos que stos deben evadir. Se implementa un planeador de trayectorias debido a la presencia de obstculos. Se plantea la optimizacin del orden del transporte de cajas mediante la utilizacin de algoritmos evolutivos para sistemas multi-agentes. Para esto se establecen cuatro escenarios realizndose mltiples simulaciones en cada uno de ellos: En el primero se coloca solamente un robot y se les toma como grupo de control. En el siguiente escenario se coloca a todo el equipo de robots actuando de una manera no-cooperativa. En el tercero se plantea el trabajo cooperativo, compartiendo informacin de las tareas ya realizadas, mas no de las futuras. Finalmente se plantea un trabajo cooperativo compartiendo toda la informacin. En todas las simulaciones las posiciones iniciales y deseadas son elegidas aleatoriamente. Adicionalmente a las pruebas computacionales, se plantea la implementacin fsica de un sistema de 3 agentes mviles para demostrar la factibilidad del empleo de los algoritmos desarrollados. En la seccin 2 se presentan los materiales empleados como lo es el software, capacidad computacional empleada, as como agentes robticos empleados para pruebas fsicas de los algoritmos. Las secciones 2.1 a 2.3, presentan el desarrollo de los algoritmos antes mencionados (algoritmos evolutivos, planeadores de trayectoria, visin computacional). La seccin 3 presenta los principales resultados obtenidos en el ordenamiento del transporte para cada uno de los escenarios planteados, los resultados de las variantes del planeador de trayectorias estocstico y los resultados del sistema de visin computacional. Finalmente, la seccin 4 presenta la discusin de los principales resultados obtenidos en el presente trabajo. 2. MATERIALES Y MTODOS Gran parte del trabajo desarrollado fue realizado mediante herramientas de simulacin; en el desarrollo de los algoritmos evolutivos y de planeamiento de trayectorias fue empleado el software Matlab; en el desarrollo del sistema de visin y las interfaces de comunicaciones con los agentes robticos se emple el software visual c# y las libreras de visin Emgu [8] (wrapper de las libreras de opencv para C#); los problemas de

integracin de ambas plataformas fueron solucionadas mediante el uso de dlls; sin embargo, no se descarta una posterior codificacin completa de los algoritmos en c#. En relacin al hardware, la cmara del sistema de visin, es una cmara web estndar de 8 Mpi y los agentes robticos empleados para las pruebas finales son tres robots mviles Moway [9], los cuales poseen una arquitectura de comunicaciones por radio frecuencia multipunto-multipunto, lo que permiti una comunicacin fluida entre todos los agentes y la computadora encargada del sistema de visin. El sistema se muestra implementado en la figura 1.

Cmara web

Robots Moway

Figura 1: Plataforma para pruebas fsicas

A continuacin se exponen los algoritmos empleados, centrndose en las caractersticas particulares que se desarrollaron en cada uno de ellos. 1.1 Algoritmos evolutivos

Para la seleccin del orden ptimo de cajas se plantea el uso de algoritmos de optimizacin basados en los desarrollados por Holland [10]. Para la evaluacin de la funcin de costo se toma como base el tiempo que ha de emplear cada mvil en el transporte de sus respectivas cajas; este tiempo es tomado en funcin a la distancia 1 , que representa la distancia entre la posicin deseada de la caja anterior y la posicin inicial de la caja actual; la distancia , que representa la distancia desde la posicin inicial a la deseada de la caja actual ms un tiempo adicional necesario para realizar la accin de tomar la caja y depositarla. Considerando que cada mvil se mueve con rapidez constante, el tiempo total para el transporte de n cajas puede expresarse como:
= 1 + . =1

(1)

Para agilizar los clculos computacionales concernientes a la evaluacin de la funcin de costo, y dado que el ambiente y la posicin de las cajas son conocidos, se calcula a priori la matriz D mostrada en la Ec. (2): 11 + 1 21 + 2 = 1 + 12 + 1 22 + 2 2 +
()

de esta manera la evaluacin de la funcin de costo se reduce a: = (=1) (1,) ,

1 + 1 2 + 2 , +

(2)

(3)

donde z es un vector que contiene el orden en el que las cajas deben ser transportadas, el cual se optimiza mediante el algoritmo evolutivo. En el caso del trabajo con K robots, la funcin de costo considerada es: = max (1 , 2 ), (3)

dado que eso refleja verdaderamente el tiempo total en terminar todo el trabajo. El algoritmo evolutivo emplea las operaciones genticas de reproduccin sexual, con probabilidad de 0.7; mutacin, con probabilidad de 0.2; y reproduccin asexual, con probabilidad de 0.1. Adicionalmente el algoritmo ha sido modificado para la optimizacin del orden del transporte mediante permutaciones.
1.2

Algoritmo de Planeacin de Trayectorias

Para el desarrollo de trayectorias dentro de ambientes con obstculos, se emple un algoritmo RRT (Rapidly Exploring Random Trees) [11-12], que es de naturaleza estocstica, ya que realiza una exploracin aleatoria progresiva de espacios libres. Su principal ventaja radica en evitar mnimos locales (caso crtico en mtodos como los Campos Potenciales segn Latombe [13], que en contraposicin posee menor coste computacional). El algoritmo realiza los clculos de la trayectoria a priori; siendo efectivo mientras la zona de trabajo no cambie. Para encontrar la trayectoria entre 2 puntos se generan rboles de exploracin partiendo de stos; una vez que dichos rboles se intercepten, se procede a computar la ruta que satisfactoriamente una ambas referencias. Encontrar el punto de interseccin de ambos arboles puede acarrear un costo computacional elevado; por tanto analizan variantes para disminuir el costo computacional, tales como RRT-Ext y RRT-Connect [14]. Adems se comprueba la disminucin de costo computacional utilizando algoritmos de tipo Nearest Neighbor Search [15]. 1.3 Sistema de Visin Computacional

Para verificar que los robots sigan la trayectoria que se les indica, se precisa de retroalimentacin de estados (posiciones y orientaciones de los robots), en este caso se hace uso de una cmara que enfoca ntegramente al rea de trabajo. Para la

identificacin de los robots, se coloca sobre cada uno de estos indicadores de distintos colores y se lleva a cabo un filtrado de colores en escala HSV. Sobre las imgenes obtenidas del filtro de colores, se aplican procedimientos de erosin simple y dilatacin doble, los cuales eliminan ruidos por falsos positivos dispersos y agujeros que puedan producirse en la imagen filtrada de los robots, respectivamente. La identificacin de obstculos se realiza de manera semejante. 1.4 Integracin de los Algoritmos

La implementacin de estos algoritmos de visin fue realizada mediante el uso de las libreras Emgu en C#. En este lenguaje se integraron las dll de control de los robots Moway (las cuales fueron proporcionadas por sus fabricantes). Gracias a estas dlls se envan correctamente las instrucciones a los robots, las cuales son obtenidas por los algoritmos cooperativos y de planeamiento de trayectoria; en tanto, el sistema de visin verifica el correcto seguimiento de las trayectorias planeadas, mediante la generacin de un sistema coordenado cartesiano. 3. RESULTADOS Para el primer escenario se realizaron numerosas simulaciones empleando el software matlab, la figura 2 muestra una de estas simulaciones, las cajas cuadradas son los puntos iniciales de la caja a transportar, y los crculos los destinos; cada juego de inicio destino est encerrado en una elipse; las lneas muestran el orden del transporte y la tabla las posiciones iniciales y deseadas para las cajas, as como el J y z obtenidos.

Caja 1 Caja 2 Caja 3 Caja 4 Caja 5 Caja 6 Caja 7 Caja 8 Caja 9

Posicin inicial (06,05) (04,07) (12,03) (04,00) (15,08) (01,03) (07,07) (02,08) (10,01)

Posicin deseada (08,05) (05,08) (13,04) (04,01) (17,09) (02,04) (07,09) (02,10) (11,01)

Posicin inicial = (09,11) z = [7 2 8 6 4 1 9 3 5] J = 52.7521 uat*


Figura 2: Orden optimizado para el transporte de 9 cajas con 1 agente.
1

Para el segundo escenario, al igual que en el primero se realizaron numerosas simulaciones, la figura 3 muestra el mismo caso que la figura 1, cada una de las figuras
1

uat: Unidades arbitrarias de tiempo

muestra la trayectoria seguida por cada agente, en muchos casos se observa que el agente se dirige a una de las cajas pero al llegar esta ya ha sido transportada, por lo que se dirige inmediatamente a otra.

Para esclarecer la figura se muestra en lneas punteadas el desplazamiento de los agentes cuando realizan acciones no productivas (se acercan a una caja ya transportada, z subrayados, excepto para agente 1 y la caja 8)

Agente 1 2 3 Agente 1 2 3

z [286417593] [539461287] [872641935] Pinicial (05,06) (12,06) (01,10) Ji 46.0150 47.1711 44.6166

J = max(Ji) = 47.1711 uat


Figura 3: Orden optimizado para el transporte de 9 cajas con 3 agentes (no cooperativo).

Para el tercer caso se realizaron numerosas simulaciones, la figura 4 muestra el mismo caso que las figuras 1 y 2, pero con trabajo cooperativo con intercambio de informacin parcial (slo tareas ya realizadas).

Agente 1 2 3

z [2 6 41] [5 3 9] [8 7]

Agente 1 2 3

Pinicial (05,06) (12,06) (01,10)

Ji 22.5900 20.3087 12.0670

J = max(Ji) = 22.5900 uat

Figura 4: Orden optimizado para el transporte de 9 cajas con 3 agentes (cooperativo parcial).

De le misma manera que para los tres casos anteriores, se realizaron numerosas simulaciones, la figura 5 muestra la configuracin de agentes y cajas del caso anterior, pero considerando trabajo cooperativo con intercambio total de informacin, no solo tareas ya realizadas, sino tambin coordinando tareas a realizar.

Para el caso de ambientes con obstculos es necesaria la implementacin de planeadores de trayectorias, eligindose una de las variantes del algoritmo RRT. Para la creacin de estas trayectorias se realizaron varias simulaciones emplendose los algoritmos RRT Basic y RRT Ext [11,12,14]; se hicieron simulaciones adicionales para comprobar la efectividad de emplear el algoritmo knn-search [15]. Una de las simulaciones realizadas, empleando el algoritmo RRT Ext con knn-search es mostrada en la figura 6. Para el caso presentado en la figura se desea encontrar una trayectoria entre los puntos (-0.75, -0.7 5) y (0.75, 0.75) del mapa, el cual tiene obstculos en su interior y una dimensin de 4m2. En la figura 6.a se puede apreciar el comportamiento de los rboles exploradores que tienen sus orgenes en el punto inicial y final respectivamente; mientras que en la figura 6.b se aprecia el seguimiento del rbol y posterior simplificacin de la ruta.

Agente 1 2 3

z [1 4 6] [9 3 5] [8 2 7]

Agente 1 2 3

Pinicial (05,06) (12,06) (01,10)

Ji 15.8371 16.7437 13.4920

J = max(Ji) = 16.7437 uat

Figura 5: Orden optimizado para el transporte de 9 cajas con 3 agentes (cooperativo).

Figura 6: (a) rboles exploradores del Algoritmo. (b) Ruta encontrada (en base a los rboles exploradores) y ruta simplificada(a recorrer por el mvil dentro del mapa).

Finalmente, se emplean los algoritmos cooperativos y el planeador de trayectorias para el caso de transporte dentro de ambientes con obstculos, lo cual asemeja mucho a los casos reales que pueden encontrarse en las industrias; y es mostrado en la figura 7.

Agente 1 2 3

z [1 7 2] [9 3 5] [8 6 4]

Agente 1 2 3

Pinicial (05,06) (12,06) (01,10)

Ji 17.6342 19.5256 18.1935

J = max(Ji) = 19.5256 uat

Figura 7. Transporte de cajas con obstculos empleando RRT.

La figura 8 muestra la implementacin en C# del sistema de visin, del manejo de las comunicaciones y de los algoritmos acoplados mediante dlls. Esta interfaz permite visualizar la imagen captada por la cmara (cuadro superior izquierdo), el seguimiento de los robots (cuadro superior derecho) y los obstculos a evadir (cuadro inferior derecho). Esta interfaz tambin permite la inspeccin de las trayectorias de los mviles y el almacenamiento de data histrica.

Figura 8. Interfaz de control de los robots Moway implementada en la plataforma C# de Visual Studio

4. DISCUSIN Dos conclusiones importantes pueden ser rescatadas del trabajo presentado, en primer lugar el notable ahorro de tiempo mediante el uso de algoritmos cooperativos, y en segundo lugar la efectividad del uso de planeadores de trayectoria estocsticos y el ahorro de tiempo de computacin empleando knn-search (un tipo de clasificador Nearest Neighbour Search). La primera conclusin se basa en los resultados obtenidos para los tiempos de ejecucin de los agentes robticos frente a los diversos escenarios; resultados que son presentados en la figura 9, donde el 100% representa el tiempo que le tomara a un slo robot completar la tarea; y la tabla dentro de la figura, que muestra en resumen, la efectividad de los agentes en cada escenario. De estos resultados resulta evidente el gran ahorro de tiempo, tan solo al emplear cooperacin parcial, y una ligera mejora al usar la cooperacin total; por lo que se demuestra que para el caso planteado el trabajo cooperativo es ms eficiente que el trabajo no cooperativo.

Media No cooperativo Cooperativo parcial Cooperativo Total 66.5 41.6 35.3

Desviacin estndar 5.8 2.2 1.4

Figura 9: Comparacin entre los tiempos en modo no cooperativo, cooperativo parcial y cooperativo

La segunda conclusin se basa en el resultado de las simulaciones empleando las variedades de RRT desarrolladas (Basic y Ext) y las mejoradas mediante knn-search, presentadas en la figura 10. En base a los resultados se recomienda ampliamente el uso del algoritmo de bsqueda knn-search pues reducen notablemente el tiempo de clculo sin afectar los resultados, as como la variante RRT Ext frente al RRT Basic (por razones similares). A diferencia de los algoritmos cooperativos y de planeamiento de trayectoria, el sistema de visin computacional empleado no es escalable; para los fines del presente trabajo bast con utilizar una sola cmara y filtros de colores para identificar robots y obstculos; sin embargo en un contexto aplicativo a la industria dicho mtodo resultara inviable, debiendo emplearse ms de una cmara para abarcar un rea de trabajo considerable y visin estereoscpica desde la perspectiva de los propios robots para evitar los obstculos, as como algoritmos de reconocimiento de objetivos elaborados (para cada aplicacin particular). El desarrollo de dichas mejoras queda pendiente para las posibles aplicaciones basadas en el presente proyecto.

10

Media RRT Basic sin knnsearch RRT Ext sin knnsearch RRT Basic con knnsearch RRT Ext con knnsearch 0.905 0.187 0.281 0.078

Desviacin estndar 0.48 0.079 0.104 0.023

Figura 10: Comparacin de variedades de RRT con el uso de knn-search.

5. REFERENCIAS
[1] T. Fukuda and S. Nakagawa, A dynamically reconfigurable robotic system (concept of a system and optimal configurations), in International Conference on Industrial Electronics, Control, and Instrumentation, pp. 588597, 1987. G. Beni, The concept of cellular robotic system, in Intelligent Control, pp. 5762, 1988. G. Beni, From Swarm Intelligence to Swarm Robotics. Lecture Notes in Computer Science, Springer Berlin / Heidelberg, 2006. L. Panait and S. Luke, Cooperative multi-agent learning: The state of the art, Autonomous Agents and Multi-Agent Systems, vol. 11, pp. 387434, November 2005. D. A. V. Veldhuizen and G. B. Lamont, Multiobjective evolutionary algorithms: Analyzing the state-of-the-art, Evolutionary Computation, vol. 8, pp. 125147, 2000. L. Parker, Current state of the art in distributed autonomous mobile robotics, Distributed Autonomous Robotic Systems, 2000. E. Sahin, Swarm robotics: From sources of inspiration to domains of application Middle East Technical University, 2005. Documentacin de la web: http://www.emgu.com Robot Moway: http://www.moway-robot.com Holland, John H (1975), Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor Steven M. La Valle (1998), Rapidly-Exploring Random Trees: A New Tool for Path Planning, Iowa State University (Department of Computer Science.) Steven La Valle and James Kuffner(1999), Rapidly-Exploring Random Trees, Iowa State University and Stanford University. Lydia E. Kavraki, Petr Svestka, Jean-Claude Latombe and Mark H. Overmars, Probabilistic Roadmaps for Path Planning in High-Dimensional Configurations Spaces. IEEE Trans. On Robotics and Automation, 12(4), pp 566-580, 1996. Steven La Valle and James Kuffner(1999), Randomized Kynodinamic Planning, Iowa State University and Stanford University. Abdelmalik Moujahid, Iaki Inza y Pedro Larraaga ,Clasificadores K-NN. Departamento de Ciencias de la Computacion e Inteligencia Artificial Universidad del Pas Vasco-Euskal Herriko Unibertsitatea

[2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]

[14] [15]