SciELO - Scientific Electronic Library Online

 
vol.26 número3Empleo de poliuretano base agua en la junta de SBR 1502/ harina natural con silanos como primersMetodologías, técnicas y herramientas en ingeniería de requisitos: un mapeo sistemático índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Servicios Personalizados

Revista

Articulo

Indicadores

Links relacionados

  • En proceso de indezaciónCitado por Google
  • No hay articulos similaresSimilares en SciELO
  • En proceso de indezaciónSimilares en Google

Compartir


Ingeniare. Revista chilena de ingeniería

versión On-line ISSN 0718-3305

Ingeniare. Rev. chil. ing. vol.26 no.3 Arica  2018

http://dx.doi.org/10.4067/S0718-33052018000300466 

Artículos

Diseño de un agente para sistemas complejos como herramienta para ciencia basada en diseño

Design of an agent for complex systems based science as a tool for design

Robinson Jiménez Moreno1 

Ruben Hernández B.2 

Javier Martínez3 

1 Grupo de Investigación GI-ITEC. Instituto de Tecnología en Electrónica y Comunicaciones. Universidad Militar Nueva Granada. Carrera 11 N° 101-80. Bogotá, Colombia. E-mail: robinson.jimenez@unimilitar.edu.co

2 Grupo de Investigación GI-ITEC. Instituto de Tecnología en Electrónica y Comunicaciones. Universidad Militar Nueva Granada. Carrera 11 N° 101-80. Bogotá, Colombia. E-mail: ruben.hernandez@unimilitar.edu.co

3 Grupo de Investigación GITECX. Escuela de Ingeniería. Universidad de los Llanos. Carrera 24A N° 8-125. Villavicencio, Colombia. E-mail: jmartinez@unillanos.edu.co

RESUMEN

Un análisis de la relación presentada entre la forma en que un sistema complejo hace emergente reglas de comportamiento entre sus diferentes agentes o como los sistemas de información son alterados por efectos de esquemas heredados, permite definir las bases o principios científicos del cómo se establecen dichas emergencias y/o esquemas, es decir, realizar lo que hoy día se conoce como ciencia basada en diseño. En este artículo se presentan los fundamentos básicos de los sistemas complejos y de la ciencia basada en diseño, en los que mediante la construcción de un agente robótico como herramienta, se establece el puente entre ambas "filosofías", concluyendo el cómo el análisis e interpretación de un sistema complejo deriva en ciencia basada en diseño, que puede ser empleada para aplicaciones de ingeniería de sistemas complejos.

Palabras clave: Diseño de agentes; sistemas complejos; agentes; estigmergia

ABSTRACT

An analysis of the relationship between the way presented a complex system that makes emerging behavioral rules between agents or information systems are altered by effects of inherited patterns, to define the bases or scientific principles of how such emergencies are established and/or drawings, ie make what today is known as a science -based design. This article describes the basics of complex systems are presented and science -based design, where in by building a robotic tool as agent, the bridge between the two "philosophies" is set, completing the analysis and interpretation as a complex system leads to science-based design, which can be used for engineering of complex systems.

Keywords: Agents design; complex systems; agents; stigmergy

INTRODUCCIÓN

El tema de ciencia basada en diseño, abordado en este trabajo, cobra fuerza en los paradigmas de investigación que se emplean hoy día en diferentes campos, como por ejemplo el de los sistemas de información. Como se muestra 1) se logra legitimar la ciencia basada en diseño como un método válido de hacer investigación de campo en sistemas de información, donde esta última es vista como una herramienta para adquirir y procesar información para soportar propósitos humanos.

De esto se derivan desarrollos como el presentado en 2, donde los autores buscan proporcionar una base común entre la investigación descriptiva y la ciencia basada en diseño orientadas a sistemas de información. Los autores proponen un marco que organiza a estos dos aspectos desde lo prescriptivo-descriptivo hasta una dimensión general con cuatro cuadrantes resultantes: 'operaciones', 'explicaciones', 'tecnologías' y 'soluciones', que permiten posicionar y mejorar la integración de las actividades de investigación e iteraciones en sistemas de información.

En (3 expone a la ciencia basada en diseño como el futuro de la innovación, aplicando una técnica de comunicación estructurada y orientada a la investigación de problemas complejos, denominada método Delphi, bajo la que los profesionales de la innovación en áreas de industria, gobierno y academia reconocen la necesidad de crear herramientas que mejoren y potencien los proyectos de innovación industrial, destacando para ello las bondades ofrecidas por los conceptos de la ciencia basada en el diseño como medio de investigación mixta.

Otro tema que capta la atención en el campo de la investigación es el de los sistemas complejos. Estos tienen aplicaciones en casos como la coordinación de agentes robóticos, de forma tal que basados en sistemas bioinspirados como las colonias de hormigas, donde se exhiben comportamientos complejos, mediante interacciones simples, se logra organizar robots para trabajo conjunto.

Ejemplo de esto, en 4 se presenta el diseño de agentes simples basados en reglas locales de toma y depósito de objetos, bajo métricas de distancia, resulta en comportamientos emergentes de los agentes formando y destruyendo clústeres de objetos, describiendo así un sistema complejo básico, aunque para el caso no identifica el hardware del agente, asumiendo que este tiene rangos de visión de 80 cm de radio y desplazamientos aleatorios.

De igual forma, en (5 se presenta un algoritmo de navegación de un grupo de agentes robóticos, que se asumen con comunicación inalámbrica, y que bajo métricas de distancias angulares logran emerger patrones de desplazamiento de enjambre, con capacidad de evasión de obstáculos y donde se reduce el tiempo de desplazamiento de un punto de partida al de destino, no se dan más detalles del hardware que debería manejar el agente para este tipo de comportamiento.

Como se evidencia en los dos casos expuestos, los sistemas complejos basados en comportamientos bioinspirados, ya se han estudiado. En 6, 7 y 8 son otros ejemplos de la aplicación de estos a agentes robóticos. Algunas simulaciones como las presentadas en 9 y 10) demuestran cómo se pueden implementar reglas sencillas en agentes robóticos con comportamiento de enjambre.

A continuación se presentan los fundamentos básicos de la ciencia basada en diseño y de los sistemas complejos, posteriormente la construcción de un agente robótico móvil como herramienta y puente entre ambas. Partiendo del análisis de diseños previos como el presentado en 11, el que tiene una arquitectura relativamente compleja e instrumentada con algunos sensores, es más económico que los desarrollos presentados por 12 y 13. Ninguno de estos permite el uso de estirmergia (definida adelante) como modo de interacción, de manera que permitan derivar en una herramienta de diseño que emerge comportamientos complejos y con capacidad de ser analizados científicamente, razón por la cual se desarrolla y expone en este trabajo.

La sección II presenta los conceptos base para abordar la temática, la sección III presenta el diseño del agente móvil o herramienta, la sección IV el análisis de resultados y, finalmente, en la sección V se presentan las conclusiones derivadas del trabajo.

CONCEPTOS GENERALES

Ciencia basada en diseño

Como figura en 14 la investigación empírica describe, explica y predice el mundo, mientras que la investigación de diseño va más allá de estos tres aspectos, busca cambiar el mundo. Para ello, esta última desarrolla nuevos artefactos que permitan resolver necesidades, a la par que todo nuevo conocimiento, usos y medios asociados a dichos desarrollos. Tales nuevos artefactos son soportados por la ciencia basada en diseño en forma de modelos, métodos y sistemas. Donde de forma resumida un artefacto es un objeto hecho por humanos con la intención de ser usado como medio para solucionar un problema práctico, el que cuenta con una estructura propia y puede producir ciertos comportamientos. De forma tal que ciencia basada en diseño es definida como el estudio científico y creación de artefactos desarrollados y usados por personas con el objetivo de resolver problemas prácticos de interés general. Se puede agregar a esta definición el hecho de que a un artefacto ya existente se le genere un nuevo propósito. Contribuciones de la ciencia, basada en diseño están en el mejoramiento, mediante nuevas soluciones a problemas conocidos en términos de eficacia, usabilidad, seguridad y mantenibilidad.

Sistemas complejos

Una de las diversas maneras de definir que son los sistemas complejos es como aquellos sistemas que tienen muchas componentes y muchas relaciones, donde se tiene un entorno observado y un observador, para los cuales emergen características de los componentes y relaciones del sistema, que a nivel del entorno observado no son conocidas ni visibles y generalmente no predecibles, pero sí son visibles por el observador quien incluso puede llegar a analizarlas 15, (1995).

Un sistema complejo se caracteriza por 16:

• Su comportamiento no dependerá de cuáles sean las partes sino de cómo se conecten, permitiendo hacer predicciones de su comportamiento sin el conocimiento detallado de las partes.

• Su mayor tamaño no significa un mejor funcionamiento, de forma que cada sistema tendrá su tamaño óptimo para funcionar.

• Funciona como un todo con propiedades llamadas "emergentes", las que son distintas de las partes que lo componen.

• No se pueden predecir las propiedades del sistema dividiéndolo y analizando sus partes.

• Las propiedades surgen del conjunto del sistema y no de sus partes, por lo que al descomponerlo en sus partes pierde dichas propiedades.

• Cada parte, por pequeña que sea, puede influir en el comportamiento del conjunto.

• Los sistemas más complejos presentan mayores vínculos.

• La estabilidad del sistema depende de muchos factores, entre ellos el tamaño, cantidad y diversidad de los subsistemas, así como del grado de conectividad que exista entre ellos.

• Los sistemas complejos son particularmente estables y, por tanto, resistentes al cambio.

Agente móvil

El agente móvil corresponde a un agente robótico con capacidad de desplazamiento autónomo, generalmente aleatorio y delimitado a cierto rango de distancia desde un punto de origen o fuente. La comunicación entre diferentes agentes móviles debe darse bajo el concepto de estigmergia. La estigmergia es una forma de colaboración por medio del medio físico, en el que hay unos mecanismos de coordinación y colaboración entre los agentes y actores del medio ambiente o entorno.

La forma de lograr estigmergia es mediante una huella o acción dejada en el entorno (medio físico o virtual) y que estimula la realización de una próxima huella o acción, tanto por el mismo como por otro agente diferente. De esta forma, las acciones posteriores tienden a reforzar y construir conjuntamente, dando lugar a la aparición espontánea de una actividad coherente, no conocida por los agentes (emergencia).

DISEÑO DEL AGENTE MÓVIL

Un agente móvil, orientado a ser una herramienta de desarrollo colaborativo, debe ser capaz de desplazarse autónomamente para lograr explorar el entono cercano, sea este desconocido o no para él. Dado que se evidencia la necesidad de que pueda salvar ciertos tipos de obstáculos propios de un terreno irregular, su estructura más adecuada es la de tipo oruga, la que si se compone de dos motores de corriente continua independientes con engranajes reductores, le permitirá el control de la dirección de desplazamiento mediante la posibilidad de girar en su propio centro y potencia suficiente para subir pendientes o desplazarse en terrenos irregulares (no planos). La estructura empleada se ilustra en la Figura 1.

Figura 1 Móvil tipo oruga. 

A nivel comercial se consiguen estructuras de este tipo, que permiten abordar terrenos levemente inclinados con relativa facilidad (oruga tamiya). Las dimensiones de cada agente bajo la plataforma robótica observada en la Figura 1 es de 10,6 cm de ancho y 17,4 cm de largo, empleando una alimentación de 9 voltios y un control mediante un circuito puente H (L294) para inversión de giro.

El desplazamiento del agente se realiza mediante una secuencia programada temporizadamente, es decir, se desplazará en determinada dirección durante cierto tiempo y luego girará. La configuración de la trayectoria a seguir es realizada al operar los dos motores con un circuito puente H para cada uno, lo que determina el movimiento mediante las señales de control especificadas en la Tabla 1, donde H corresponde a un estado lógico alto (5 Voltios) y L a uno bajo (0 Voltios). El agente navega en trayectorias rectas hasta que encuentra un obstáculo o alcanza la distancia máxima.

Tabla 1 Señales de control del agente. 

La generación de estas señales de control para desplazamiento así como la de temporización, se realiza mediante una tarjeta raspberry pi, que se puede apreciar en la Figura 2.

Figura 2 Raspberry pi con cámara. 

La tarjeta emplea una cámara mediante la que se adquiere la imagen del entorno, la captura del escenario en el que se mueve el agente es la base de la estigmergia que emplea para la labor coopertaiva.

Se implementa un sensor de distancia basado en ultrasonido a fin de dar la posibilidad al móvil de evadir obstáculos. El diseño final del agente robótico a emplear se aprecia en la Figura 3. La programación está realizada bajo el sistema operativo raspbian propio de la tarjeta empleada y sobre este los algoritmos se programaron bajo Python empleando la librería de visión de máquina de OpenCV.

Figura 3 Agente robótico. 

ANÁLISIS DE OPERACIÓN DEL AGENTE

El agente robótico implementado busca identificar objetos de color rojo, mediante el procesamiento de la imagen capturada, con el objeto de validar su forma, alcanzarlos y agruparlos. La ecuación (1) relaciona la forma de identificar los objetos rojos de la escena mediante el empleo de conversión de espacios de color, la cámara adquiere la información en el espacio primario RGB (rojo, azul y verde) y el algoritmo implementado toma estas componentes y las transforma al espacio YCbCr (luminancia, componente azul y componente roja). De forma tal que de esta última se emplea únicamente la componente Cr.

(1)

Esta componente se encuentra en escala de grises y para resaltar la información en rojo se aplica un umbral que discrimina el tono de rojo empleado para identificación del objeto, como se aprecia en la ecuación (2), dejando la imagen en blanco y negro.

(2)

En la imagen resultante se identifican los segmentos circulares mediante la transformada de Hough 17 como se aprecia en la Figura 4. El agente robótico busca aumentar la agrupación de objetos circulares, identificando la distancia entre objetos mediante su radio, de forma tal que se creen agrupaciones locales que desaparecen con el tiempo para formar una única. Este comportamiento emergente opera de forma análoga al presentado en 4. Debido a que el agente explora el entorno cercano, logra ubicar la distancia del objeto por el radio del mismo en la imagen, dicho radio es constante para todos los objetos y para el caso es de 5 cm, por lo que la medición de un radio menor indica la distancia proporcional a la que se encuentra.

Figura 4 Detección de círculos. 

La función básica del robot es tomar el objeto más cercano y llevarlo hasta el próximo más cercano que no haga parte del grupo en el que se encuentra, lo que lo determina por que el radio del objeto a coger sea menor a 4,6 cm, como se indica en el diagrama de flujo presentado en la Figura 5.

Figura 5 Algoritmo de las funciones básicas del robot. 

La Figura 6 ilustra el móvil desplazando el objeto.

Figura 6 Detección de objetos. 

Este algoritmo converge en un solo grupo de la forma como se indica en la Figura 7. En esta se aprecia la paulatina conformación de grupos hasta la convergencia en uno solo.

Figura 7 Conformación de grupos. 

Esta programación simple permite al agente desplazarse en toda el área de trabajo e interactuar con esta, de forma que puede evadir obstáculos y agrupar los objetos que son interés. En la Figura 5 como es de esperar hay grupos que se crean y se eliminan, este comportamiento emergente se aprecia de forma clara en los movimientos 8 a 12 donde los objetos de un grupo grande, para el caso 4 objetos, pasan uno a uno a otro grupo.

Es de aclarar que la formación y eliminación de grupos y los movimientos empleados para obtener uno solo, depende de la ubicación inicial de los objetos y su distribución.

CONCLUSIONES

Basado en el concepto de sistema complejo y las características que debe tener un agente dentro de este, se diseñó un robot móvil que es capaz de desplazarse autónomamente y cumplir con una función específica bajo el concepto de estigmergia. Esta tarea es replicable por otro o varios agentes de este mismo tipo, donde la acción conjunta emergente para desempeño de la labor de agrupamiento, es llevada a cabo sin importar la cantidad de agentes empleados, aunque la cantidad sí cobra relevancia en el tempo de ejecución.

Al diseñar una herramienta como lo es el agente robótico obtenido, capaz de resolver una necesidad, se abordan los fundamentos de ciencia basada en diseño. Un análisis de los comportamientos emergentes, derivados de los agrupamientos resultantes de la acción de cada agente en este ejemplo, puede permitir establecer leyes de comportamiento que predigan la cantidad de movimientos necesarios y tiempo a emplear, según el número de agentes y objetos empleados.

REFERENCIAS

[1] A. Hevner and S. Chatterjee. "Design Research in Information Systems". Springer. 2010. ISBN: 978-1-4419-5652-1. [ Links ]

[2] R. Winter. "Towards a Framework for Evidence-Based and Inductive Design in Information". European Design Science Symposium, EDSS 2013 Dublin, Ireland, pp. 1-20. November 21-22, 2013. ISSN: 1865-0929. [ Links ]

[3] A. Hevner and J. Anderson. "Design Science and Innovation Practices: A Delphi Study". European Design Science Symposium, EDSS 2013 Dublin, Ireland, pp. 21-27. November 21-22, 2013. ISSN 1865-0929. [ Links ]

[4] A. Chatty, I. Kallel, P. Gaussier and A.M. Alimi. "Emergent complex behaviors for swarm robotic systems by local rules". In Robotic Intelligence in Informationally Structured Space (RiiSS), 2011 IEEE Workshop on, pp. 69-76. 11-15 April 2011. DOI: 10.1109/RIISS.2011.5945791. [ Links ]

[5] Ji-Wook Kwon, Jin Hyo Kim and Jiwon Seo. "Consensus-based obstacle avoidance for robotic swarm system with behavior-based control scheme". In Control, Automation and Systems (ICCAS), 2014 14th International Conference on, pp. 751-755. 22-25 Oct. 2014. DOI: 10.1109/ICCAS.2014.6987879. [ Links ]

[6] Van Tung Le and Trung Dung Ngo. "Virtual pheromone based information foraging in modular robotics". In Ubiquitous Robots and Ambient Intelligence (URAI). 2014 11th International Conference on, pp. 379-384. 12-15 Nov. 2014. [ Links ]

[7] A. Gutiérrez Martín y F. Monasterio-Huelin. "Algoritmos de rastreo inspirados en colonias de hormigas". XXVII Jornadas de Automática, pp. 299-305. 2006. ISBN: 84-689-9417-0. [ Links ]

[8] A. Brutschy, A. Scheidler, E. Ferrante, M. Dorigo and M. Birattari. "Can ants inspire robots? Self-organized decision making in robotic swarms". In Intelligent Robots and Systems (IROS), IEEE/RSJ International Conference on, pp. 4272-4273. 2012. DOI: 10.1109/IROS.2012.6386273. [ Links ]

[9] Tan Ying, Xue Songdong, Zeng Jianchao, Pan Jengshyang and Pan Tienszu. "Effects of algorithmic parameters on swarm robotic search". In Information and Automation (ICIA). IEEE International Conference on, pp. 87-92. 20-23 June 2010. DOI: 10.1109/ICINFA.2010.5512342. [ Links ]

[10] K. Ohkura, T. Yasuda and Y. Matsumura. "Analyzing macroscopic behavior in a swarm robotic system based on clustering". In SICE Annual Conference (SICE). Proceedings of, pp. 356-361. 13-18 Sept. 2011. [ Links ]

[11] F. Arvin, J.C. Murray, Licheng Shi, Chun Zhang and Shigang Yue. "Development of an autonomous micro robot for swarm robotics". In Mechatronics and Automation (ICMA), IEEE International Conference on, pp. 635-640. 3-6 Aug. 2014. DOI: 10.1109/ICMA.2014.6885771. [ Links ]

[12] S. Kernbach, R. Thenius, O. Kernbach and T. Schmickl. "Reembodiment of Honeybee Aggregation Behavior in an Artificial MicroRoboticSystem". Adaptive Behavior. Vol. 17 N° 3, pp. 237-259. 2009. [ Links ]

[13] F. Mondada, M. Bonani, X. Raemy, J. Pugh, C. Cianci, A. Klaptocz, S. Magnenat, J.-C. Zufferey, D. Floreano and A. Martinoli. "The epuck, a robot designed for education in engineering". In Proceedings of the 9th conference on autonomous robot systems and competitions. Vol. 1 N° 1, pp. 59-65. 2009. [ Links ]

[14] P. Johannensson and E. Perjons. "An introduction to design science". Springer, pp. 202. ISBN: 978-3-319-10631-1. 2014. [ Links ]

[15] M. Tarride. "Complexity and complex systems". Historia, Ciencias y Salud, Manguinhos. Vol. II, pp. 46-66. Mar-Jun, 1995. [ Links ]

[16] Ritter Ortiz Walter y Pérez Espino Tahimi. "¿Qué son los sistemas complejos y sus procesos de emergencia?". Centro de Ciencias de la Atmósfera. UNAM. Circuito Exterior. CU. 04510 México DF., México. 2011. URL: http://rcci.net/globalizacion/2011/fg1126.htmLinks ]

[17] R. Chan and W.-C. Siu. "A new approach for efficient Hough transform for circles". Communications, Computers and Signal Processing. Conference Proceeding. IEEE Pacific Rim Conference on, pp. 99-102. 1-2 June, 1989. [ Links ]

Recibido: 17 de Marzo de 2016; Aprobado: 25 de Septiembre de 2017

* Autor de correspondencia. ruben.hernandez@unimilitar.edu.co

Creative Commons License Este es un artículo publicado en acceso abierto bajo una licencia Creative Commons