Desarrollo de Algoritmos Cooperativos Para El Transporte de Objetos en Ambientes Conocidos

10

Click here to load reader

Transcript of Desarrollo de Algoritmos Cooperativos Para El Transporte de Objetos en Ambientes Conocidos

Page 1: Desarrollo de Algoritmos Cooperativos Para El Transporte de Objetos en Ambientes Conocidos

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 Ingeniería *[email protected][email protected]

[email protected] #[email protected]

RESUMEN

En el presente trabajo, el problema de optimización 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 ejecución total de la tarea. Planeadores de trayectorias estocásticos son presentados para la navegación dentro de ambientes con obstáculos, así como un sistema de visión computacional para la retroalimentación de información de los agentes y su medio; ambos aspectos necesarios para la implementación práctica de la solución propuesta. Palabras Clave: optimización, sistemas multi-agentes, algoritmos evolutivos, planeadores de trayectorias, Visión 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.

Page 2: Desarrollo de Algoritmos Cooperativos Para El Transporte de Objetos en Ambientes Conocidos

2

1. INTRODUCCIÓN

El creciente interés en la resolución descentralizada de problemas complejos ha empujado el desarrollo de sistemas multi-agentes; cuyos inicios se dan en la década de los 80s con [1-3] y cuya evolución ha sido ampliamente documentada como en el caso de [4-6]. La gran ventaja de estos sistemas es la presencia inherente de características como la robustez, flexibilidad y escalabilidad [7], razón que los vuelve muy atractivos para la resolución de estos problemas. En este marco, es que se plantea el análisis 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 cámara 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 móviles. Se pretende optimizar el tiempo de transporte, teniendo en cuenta la presencia de obstáculos en dicho espacio de trabajo. Se utiliza la cámara de video como sensor de retroalimentación de las posiciones y orientaciones de los móviles, y de los obstáculos que éstos deben evadir. Se implementa un planeador de trayectorias debido a la presencia de obstáculos.

Se plantea la optimización del orden del transporte de cajas mediante la utilización de algoritmos evolutivos para sistemas multi-agentes. Para esto se establecen cuatro escenarios realizándose múltiples 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 información de las tareas ya realizadas, mas no de las futuras. Finalmente se plantea un trabajo cooperativo compartiendo toda la información. En todas las simulaciones las posiciones iniciales y deseadas son elegidas aleatoriamente. Adicionalmente a las pruebas computacionales, se plantea la implementación física de un sistema de 3 agentes móviles para demostrar la factibilidad del empleo de los algoritmos desarrollados.

En la sección 2 se presentan los materiales empleados como lo es el software, capacidad computacional empleada, así como agentes robóticos empleados para pruebas físicas de los algoritmos. Las secciones 2.1 a 2.3, presentan el desarrollo de los algoritmos antes mencionados (algoritmos evolutivos, planeadores de trayectoria, visión computacional). La sección 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 estocástico y los resultados del sistema de visión computacional. Finalmente, la sección 4 presenta la discusión de los principales resultados obtenidos en el presente trabajo.

2. MATERIALES Y MÉTODOS

Gran parte del trabajo desarrollado fue realizado mediante herramientas de simulación; en el desarrollo de los algoritmos evolutivos y de planeamiento de trayectorias fue empleado el software Matlab; en el desarrollo del sistema de visión y las interfaces de comunicaciones con los agentes robóticos se empleó el software visual c# y las librerías de visión Emgu [8] (wrapper de las librerías de opencv para C#); los problemas de

Page 3: Desarrollo de Algoritmos Cooperativos Para El Transporte de Objetos en Ambientes Conocidos

3

integración de ambas plataformas fueron solucionadas mediante el uso de dll’s; sin embargo, no se descarta una posterior codificación completa de los algoritmos en c#.

En relación al hardware, la cámara del sistema de visión, es una cámara web estándar de 8 Mpi y los agentes robóticos empleados para las pruebas finales son tres robots móviles Moway [9], los cuales poseen una arquitectura de comunicaciones por radio frecuencia multipunto-multipunto, lo que permitió una comunicación fluida entre todos los agentes y la computadora encargada del sistema de visión. El sistema se muestra implementado en la figura 1.

Figura 1: Plataforma para pruebas físicas

A continuación se exponen los algoritmos empleados, centrándose en las características particulares que se desarrollaron en cada uno de ellos.

1.1 Algoritmos evolutivos

Para la selección del orden óptimo de cajas se plantea el uso de algoritmos de optimización basados en los desarrollados por Holland [10]. Para la evaluación de la función de costo se toma como base el tiempo que ha de emplear cada móvil en el transporte de sus respectivas cajas; este tiempo es tomado en función a la distancia 𝑑𝑖−1𝑖 , que representa la distancia entre la posición deseada de la caja anterior y la posición inicial de la caja actual; la distancia 𝑤𝑖, que representa la distancia desde la posición inicial a la deseada de la caja actual más un tiempo adicional necesario para realizar la acción de tomar la caja y depositarla. Considerando que cada móvil se mueve con rapidez constante, el tiempo total para el transporte de n cajas puede expresarse como:

𝑡𝑡 = ∑ 𝑑𝑖−1𝑖𝑛𝑖=1 + 𝑤𝑖. (1)

Cámara web

Robots Moway

Page 4: Desarrollo de Algoritmos Cooperativos Para El Transporte de Objetos en Ambientes Conocidos

4

Para agilizar los cálculos computacionales concernientes a la evaluación de la función de costo, y dado que el ambiente y la posición de las cajas son conocidos, se calcula a priori la matriz D mostrada en la Ec. (2):

𝑫 = �

𝑑11 + 𝑤1 𝑑12 + 𝑤1 … 𝑑1𝑛 + 𝑤1𝑑21 + 𝑤2 𝑑22 + 𝑤2 … 𝑑2𝑛 + 𝑤2

⋮ ⋮ ⋱ ⋮𝑑𝑛1 + 𝑤𝑛 𝑑𝑛2 +𝑤𝑛 … 𝑑𝑛𝑛 + 𝑤𝑛

�, (2)

de esta manera la evaluación de la función de costo se reduce a:

𝐽 = ∑ 𝐷(𝑧−1,𝑧)𝑧(𝑛)𝑧(𝑖=1) , (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 función 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 genéticas de reproducción sexual, con probabilidad de 0.7; mutación, con probabilidad de 0.2; y reproducción asexual, con probabilidad de 0.1. Adicionalmente el algoritmo ha sido modificado para la optimización del orden del transporte mediante permutaciones.

1.2 Algoritmo de Planeación de Trayectorias

Para el desarrollo de trayectorias dentro de ambientes con obstáculos, se empleó un algoritmo RRT (Rapidly Exploring Random Trees) [11-12], que es de naturaleza estocástica, ya que realiza una exploración aleatoria progresiva de espacios libres. Su principal ventaja radica en evitar mínimos locales (caso crítico en métodos como los Campos Potenciales según Latombe [13], que en contraposición posee menor coste computacional). El algoritmo realiza los cálculos 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 exploración 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 intersección 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]. Además se comprueba la disminución de costo computacional utilizando algoritmos de tipo Nearest Neighbor Search [15].

1.3 Sistema de Visión Computacional

Para verificar que los robots sigan la trayectoria que se les indica, se precisa de retroalimentación de estados (posiciones y orientaciones de los robots), en este caso se hace uso de una cámara que enfoca íntegramente al área de trabajo. Para la

Page 5: Desarrollo de Algoritmos Cooperativos Para El Transporte de Objetos en Ambientes Conocidos

5

identificación 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 imágenes obtenidas del filtro de colores, se aplican procedimientos de erosión simple y dilatación doble, los cuales eliminan ruidos por falsos positivos dispersos y “agujeros” que puedan producirse en la imagen filtrada de los robots, respectivamente. La identificación de obstáculos se realiza de manera semejante.

1.4 Integración de los Algoritmos

La implementación de estos algoritmos de visión fue realizada mediante el uso de las librerías 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 dll’s se envían correctamente las instrucciones a los robots, las cuales son obtenidas por los algoritmos cooperativos y de planeamiento de trayectoria; en tanto, el sistema de visión verifica el correcto seguimiento de las trayectorias planeadas, mediante la generación 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 círculos los destinos; cada juego de inicio destino está encerrado en una elipse; las líneas muestran el orden del transporte y la tabla las posiciones iniciales y deseadas para las cajas, así como el J y z obtenidos.

J = 52.7521 uat*1

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

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

Posición inicial

Posición deseada

Caja 1 (06,05) (08,05) Caja 2 (04,07) (05,08) Caja 3 (12,03) (13,04) Caja 4 (04,00) (04,01) Caja 5 (15,08) (17,09) Caja 6 (01,03) (02,04) Caja 7 (07,07) (07,09) Caja 8 (02,08) (02,10) Caja 9 (10,01) (11,01)

Posición inicial = (09,11) z = [7 2 8 6 4 1 9 3 5]

Page 6: Desarrollo de Algoritmos Cooperativos Para El Transporte de Objetos en Ambientes Conocidos

6

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.

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 información parcial (sólo tareas ya realizadas).

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 configuración de agentes y cajas del caso anterior, pero considerando trabajo cooperativo con intercambio total de información, no solo tareas ya realizadas, sino también coordinando tareas a realizar.

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

Agente Pinicial Ji

1 (05,06) 22.5900 2 (12,06) 20.3087 3 (01,10) 12.0670

J = max(Ji) = 22.5900 uat

Para esclarecer la figura se muestra en líneas 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 z 1 [ 2 8 6 4 1 7 5 9 3 ] 2 [ 5 3 9 4 6 1 2 8 7 ] 3 [ 8 7 2 6 4 1 9 3 5 ]

Agente Pinicial Ji

1 (05,06) 46.0150 2 (12,06) 47.1711 3 (01,10) 44.6166

J = max(Ji) = 47.1711 uat

Page 7: Desarrollo de Algoritmos Cooperativos Para El Transporte de Objetos en Ambientes Conocidos

7

Para el caso de ambientes con obstáculos es necesaria la implementación de planeadores de trayectorias, eligiéndose una de las variantes del algoritmo RRT. Para la creación de estas trayectorias se realizaron varias simulaciones empleándose 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 obstáculos en su interior y una dimensión de 4m2. En la figura 6.a se puede apreciar el comportamiento de los árboles exploradores que tienen sus orígenes en el punto inicial y final respectivamente; mientras que en la figura 6.b se aprecia el seguimiento del árbol y posterior simplificación de la ruta.

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 móvil dentro del mapa).

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

Agente Pinicial Ji

1 (05,06) 15.8371 2 (12,06) 16.7437 3 (01,10) 13.4920

J = max(Ji) = 16.7437 uat

Page 8: Desarrollo de Algoritmos Cooperativos Para El Transporte de Objetos en Ambientes Conocidos

8

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

Figura 7. Transporte de cajas con obstáculos empleando RRT.

La figura 8 muestra la implementación en C# del sistema de visión, del manejo de las comunicaciones y de los algoritmos acoplados mediante dll’s. Esta interfaz permite visualizar la imagen captada por la cámara (cuadro superior izquierdo), el seguimiento de los robots (cuadro superior derecho) y los obstáculos a evadir (cuadro inferior derecho). Esta interfaz también permite la inspección de las trayectorias de los móviles y el almacenamiento de data histórica.

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

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

Agente Pinicial Ji

1 (05,06) 17.6342 2 (12,06) 19.5256 3 (01,10) 18.1935

J = max(Ji) = 19.5256 uat

Page 9: Desarrollo de Algoritmos Cooperativos Para El Transporte de Objetos en Ambientes Conocidos

9

4. DISCUSIÓN

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 estocásticos y el ahorro de tiempo de computación empleando knn-search (un tipo de clasificador Nearest Neighbour Search).

La primera conclusión se basa en los resultados obtenidos para los tiempos de ejecución de los agentes robóticos frente a los diversos escenarios; resultados que son presentados en la figura 9, donde el 100% representa el tiempo que le tomaría a un sólo 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 cooperación parcial, y una ligera mejora al usar la cooperación total; por lo que se demuestra que para el caso planteado el trabajo cooperativo es más eficiente que el trabajo no cooperativo.

Figura 9: Comparación entre los tiempos en modo no cooperativo, cooperativo parcial y cooperativo

La segunda conclusión 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 búsqueda knn-search pues reducen notablemente el tiempo de cálculo 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 visión computacional empleado no es escalable; para los fines del presente trabajo bastó con utilizar una sola cámara y filtros de colores para identificar robots y obstáculos; sin embargo en un contexto aplicativo a la industria dicho método resultaría inviable, debiendo emplearse más de una cámara para abarcar un área de trabajo considerable y visión estereoscópica desde la perspectiva de los propios robots para evitar los obstáculos, así como algoritmos de reconocimiento de objetivos elaborados (para cada aplicación particular). El desarrollo de dichas mejoras queda pendiente para las posibles aplicaciones basadas en el presente proyecto.

Media Desviación estándar

No cooperativo

66.5

5.8

Cooperativo parcial

41.6

2.2

Cooperativo Total

35.3

1.4

Page 10: Desarrollo de Algoritmos Cooperativos Para El Transporte de Objetos en Ambientes Conocidos

10

Figura 10: Comparación 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. 588–597, 1987.

[2] G. Beni, “The concept of cellular robotic system,” in Intelligent Control, pp. 57–62, 1988. [3] G. Beni, From Swarm Intelligence to Swarm Robotics. Lecture Notes in Computer Science,

Springer Berlin / Heidelberg, 2006. [4] L. Panait and S. Luke, “Cooperative multi-agent learning: The state of the art,” Autonomous

Agents and Multi-Agent Systems, vol. 11, pp. 387–434, November 2005. [5] D. A. V. Veldhuizen and G. B. Lamont, “Multiobjective evolutionary algorithms: Analyzing the

state-of-the-art,” Evolutionary Computation, vol. 8, pp. 125–147, 2000. [6] L. Parker, “Current state of the art in distributed autonomous mobile robotics,” Distributed

Autonomous Robotic Systems, 2000. [7] E. Sahin, “Swarm robotics: From sources of inspiration to domains of application” Middle

East Technical University, 2005. [8] Documentación de la web: http://www.emgu.com [9] Robot Moway: http://www.moway-robot.com [10] Holland, John H (1975), Adaptation in Natural and Artificial Systems, University of Michigan

Press, Ann Arbor [11] Steven M. La Valle (1998), Rapidly-Exploring Random Trees: A New Tool for Path Planning,

Iowa State University (Department of Computer Science.) [12] Steven La Valle and James Kuffner(1999), Rapidly-Exploring Random Trees, Iowa State

University and Stanford University. [13] 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.

[14] Steven La Valle and James Kuffner(1999), Randomized Kynodinamic Planning, Iowa State University and Stanford University.

[15] Abdelmalik Moujahid, Iñaki Inza y Pedro Larrañaga ,Clasificadores K-NN. Departamento de Ciencias de la Computacion e Inteligencia Artificial Universidad del País

Vasco-Euskal Herriko Unibertsitatea

Media Desviación estándar

RRT Basic sin knnsearch

0.905

0.48

RRT Ext sin knnsearch

0.187

0.079

RRT Basic con knnsearch

0.281

0.104

RRT Ext con knnsearch

0.078

0.023