Identificación de la posición y orientación de robots móviles en el espacio de trabajo Cesar Leonardo González Universidad EAN Bogotá, Colombia Helbert Eduardo Espitia Universidad Distrital Francisco José de Caldas Bogotá, Colombia [email protected] Gerardo Avendaño Prieto Universidad EAN Bogotá, Colombia [email protected] [email protected] Resumen La robótica colaborativa es un campo que requiere de muchas herramientas, desde modelos, sistemas de control, diseño de hardware, algoritmos de búsqueda y localización entre otros. Un aspecto de importancia consiste en determinar la localización de cada robot en el espacio de trabajo, lo cual se puede realizar mediante visión por computador empleando herramientas de procesamiento de imágenes. En este documento se muestra el procedimiento realizado para determinar la posición y orientación de un enjambre de robots móviles, localizados en el espacio de trabajo. 1. Introducción En el campo de la robótica colaborativa se han trabajado varias técnicas dado el grado de complejidad de las tareas a realizar, los objetivos a cumplir y las restricciones que existan [1]. Algunos algoritmos de búsqueda y exploración están inspirados en comportamiento de organismos [2]. Un ejemplo es el caso de la autopoyesis celular, donde se describe como la célula busca y mantiene un intercambio con su medio para sobrevivir y mantenerse en un estado estable. También es el caso de las colonias de hormigas y enjambres de insectos que interactúan mediante arquitecturas heterarquicas, donde los individuos son autónomos y se distribuyen tareas generando una autosuficiencia grupal al desarrollar un objetivo establecido y a medida que el ambiente de interacción cambia estos se adaptan a el [3]. También se requieren técnicas en robótica colaborativa desde los sistemas de control y retroalimentación [4]; donde la arquitectura puede ser jerárquica en la mayor parte del tiempo, sea que un individuo (agente), distribuya las tareas o que un programa establezca las reglas a seguir para cumplir con el objetivo. Para el caso de una arquitectura heterarquica, se observan sistemas de individuos o agentes complejos, los cuales c 978-1-4673-9461-1/15/$31.00 2015 IEEE presentan cierta autonomı́a y restricciones, y al tener interacciones con otros agentes o individuos emergen comportamientos complejos. De esta forma se puede apreciar la complejidad de los sistemas colaborativos, de tal forma que no se pueden separar sus componentes por ser interdependientes. Este tipo de dinámica, en individuos colaborativos con arquitectura heterarquica está basada por sus interacciones [5]. Los comportamientos emergentes en un sistema son propiedades globales que surgen por la interacción local de sus individuos [6]. El comportamiento emergente no se presenta por las funciones individuales del agente, este se manifiesta cuando los individuos trabajan de forma colaborativa. En un sistema colaborativo o un sistema integrado por varios individuos, es de interés lograr ciertos comportamientos emergentes, para que su interacción contribuya a cumplir con ciertos objetivos, como por ejemplo la exploración, la asignación y cumplimiento de tareas dentro de un sistema. En el campo de la auto-organización se desea que el sistema de agentes o individuos lleguen a un estado deseado. Es por esto que la auto-organización es muy empleada para el estudio de enjambres, bandadas de aves, administración del trafico y muchos otros sistemas, donde las interacciones locales de individuos resultan en un patrón global o patrón de comportamiento [7]. La manera de interpretar la auto-organización en sistemas colaborativos, se refiere a la forma de llevar la dinámica del sistema hacia la configuración deseada para que cumpla con ciertas condiciones, bajo una cantidad de restricciones; este es el caso de la homeostasis la cual describe la regulación de las funciones corporales. Desde la perspectiva de los sistemas de control, se busca que la dinámica de un sistema se mantenga dentro de unos rangos, incluso cuando las perturbaciones del ambiente o el ruido pueda alterar los comportamientos del sistema. La homeostasis consiste en la habilidad que tiene un organismo para mantenerse en un estado estable de operación durante cambios internos o exter- nal de luminosidad (L? ) y dos canales de crominancia (a? − b? y u? − v ? ). Estos modelos se definen mediante transformaciones no lineales del modelo RGB, esto con el fin de conseguir representaciones perceptualmente uniformes del color. nos. Por su parte W.R. Ashby, propuso que la homeostasis, implica una reacción adaptativa para mantener las variables esenciales dentro de un rango [8]. Para el caso de un sistema vivo este busca mantenerse siempre en zonas que faciliten la supervivencia. De esta forma, un sistema dinámico tiene una alta capacidad homeostática si es capaz de mantener su dinámica en un estado deseado. Considerando un marco de referencia para el desarrollo de aplicaciones mediante grupos de robots desde la perspectiva de la auto-organización con el fin de realizar tareas en forma colaborativa, es necesario establecer su posicionamiento en el espacio de trabajo. En este documento se muestra el procedimiento realizado para determinar la posición y orientación de un enjambre de robots móviles. Como resultado se tiene un modelo virtual del enjambre de robots, con el cual posteriormente se pueden generar las reglas de interacción entre individuos. El procedimiento empleado consiste en una primera instancia en segmentación basada en color, posteriormente se realiza el cálculo de centroides y orientación mediante los momentos principales de las imágenes segmentadas. Finalmente con la anterior información se construye un ambiente virtual del enjambre de robots. 2.2. Conversión RGB a XYZ El espacio de color CIE XYZ abarca todas las sensaciones de color que una persona promedio puede experimentar. Sirve como una referencia estándar, con la cual se definen otros espacios de color [11]. Para realizar la conversión del modelo RGB a XYZ se emplea una transformación de la forma: X R Y =M G (1) Z B donde S11 M = S21 S31 S12 S22 S32 S13 S23 S33 (2) A manera de ejemplo, para el caso del estándar D65 Adobe RGB (1998) se tiene: 0,5767309 0,1855540 0,1881852 M = 0,2973769 0,6273491 0,0752741 0,0270343 0,0706872 0,9911085 2. Segmentación basada en color El color es una caracterı́stica importante en muchos problemas asociados a la segmentación de regiones. El color puede servir para discriminar de forma adecuada las zonas de una imagen. De esta forma, el resultado de la segmentación puede usarse para la medición de alguna caracterı́stica de la imagen [9]. 2.3. Conversión XYZ a L? a? b? Para realizar la conversión de un color en el formato XYZ al formato L? a? b? se tienen las siguientes ecuaciones: Y − 16 (3) L? = 116f Yn X Y a? = 500 f −f (4) Xn Yn Y Z a? = 200 f −f (5) Yn Zn 2.1. Espacios de color Las caracterı́sticas de ciertos elementos que se quieren identificar en una imagen digital dependen del espacio de color empleado, afectando ası́ los resultados de la clasificación. Según [10], los modelos de color más habituales en aplicaciones de visión artificial son los siguientes: RGB: Modelo empleado en dispositivos de captura y generación de color. Consiste en un modelo de mezcla aditivo, donde cada color se encuentra formado por combinación de los tres colores primarios: rojo (R), verde (G), y azul (B). siendo: XYZ: Modelo basado en la respuesta de los tres tipos de fotorreceptores localizados en la retina del ojo, los cuales corresponden a espectros de absorción en longitudes de ondas altas, medias y bajas. Los espectros de absorción fueron definidos en 1931 por la CIE (International Commission on Illumination). donde Xn , Yn y Zn , son los valores del triestı́mulo CIE XYZ del punto blanco de referencia (normalizado). Para un caso práctico, según el estándar CIE 1931 2◦ con luminancia D65 se emplea Xn = 95,047, Yn = 100,000 y Zn = 108,883. Como es de apreciar, f (t) se encuentra compuesta por dos partes para evitar el limite infinito en t = 0. La función f (t) se considera lineal por debajo de un valor t = t0 y coincide con t1/3 para t0 [12]. ( f (t) = L? a? b? , L? u? v ? : Modelos definidos por la CIE para aplicaciones industriales del color. Se separa un ca2 1 t3 , 1 3 6 3 si t > 29 ; 29 2 4 t + 29 , en otro caso. 6 (6) 2.4. Segmentación basada en L? a? b? In = X m2 P (m, n) (13) m,n La representación L? a? b? incluye todo los colores perceptibles, lo que significa que su gama es superior a los modelos de color RGB [12]. Las relaciones no lineales para L? , a? y b? están destinadas a imitar la respuesta no lineal del ojo humano. Además, los cambios uniformes de los componentes en el sistema L? a? b? del espacio de color tienen por objeto corresponder a los cambios uniformes en color percibido. Las diferencias de percepción relativas entre dos colores en L? a? b? , se puede aproximar por el tratamiento de cada color como un punto en un espacio tridimensional y la distancia euclidiana entre estos [13]. Considerando lo anterior, es posible establecer si un determinado color con componentes (L?c , a?c , b?c ) corresponde a un grupo de colores (L?i , a?i , b?i ), con i = 1, 2, ..., m. Para esto, se emplea la distancia euclidiana: q (7) ∆i = (L?c − L?i )2 + (a?c − a?i )2 + (b?c − b?i )2 Con el cálculo de los anteriores valores es posible determinar el ángulo de orientación de una figura para que se encuentre sobre sus ejes principales. En la figura 1 se puede apreciar un ejemplo de la orientación dada por los momentos principales de la imagen, en este caso (x, y) corresponde al sistemas de coordenadas global, mientras que (xp , yp ) corresponde a los ejes principales. De esta forma, se puede establecer si un color de prueba c, corresponde a un cierto color del grupo i cuando se tiene el menor valor de ∆i . Esta clasificación se encuentra sujeta a la diferencia que se tiene entre el grupo de colores i. Figura 1. Ejemplo de los ejes principales de una figura (rectángulo). 3. Centroide y momentos principales 4. Caso de aplicación considerado Para una imagen digital P (m, n) el cálculo del centroide se puede realizar con las ecuaciones 8 y 9, [14]. X m̄ = nP (m, n) (8) Como caso de aplicación se consideran cuatro móviles, los cuales para diferenciarlos se emplean colores distintivos en su parte superior. En la figura 2 se puede apreciar una posible configuración del grupo de robots. m,n n̄ = X mP (m, n) (9) m,n La orientación de la imagen se encuentra dada por los ejes principales sobre los cuales se encuentran los mayores y menores valores de inercia; su cálculo se realiza con los respectivos segundos momentos de inercia. Una interpretación para los ejes principales consiste en la orientación para la cual se presenta la máxima simetrı́a que se puede tener de la imagen. Para el cálculo de la orientación de los ejes principales se tiene: 2Imn 1 −1 θ = tan (10) 2 Im − In Donde los respectivos segundos momentos de una imagen digital son: X Imn = mnP (m, n) (11) Figura 2. Ejemplo de una configuración considerada. m,n Im = X 2 n P (m, n) Con el fin de poder distinguir los móviles se realiza una muestra de los colores que los diferencian, esta muestra se puede apreciar en la figura 3. (12) m,n 3 5. Extracción de las regiones marcadas. En el primer paso se adquiere la imagen a ser procesada. En el segundo paso, para cada región se calcula la representación en el espacio L? a? b? , para lo cual se toman muestras de los colores a ser segmentados y se obtiene su respectiva representación (promedio) en el espacio L? a? b? . Para el tercer paso se realiza la clasificación de cada pixel considerando la distancia más cercana a los marcadores encontrados en el paso anterior. La distancia más pequeña indica que el pixel se aproxima a ese marcador de color. En el cuarto paso se realiza la respectiva asignación de etiquetas a cada región. En el paso final se construyen figuras separadas para cada región. Es importante tener presente que para la segmentación, el fondo también cuenta como un color aunque sea negro. Figura 3. Muestras de color empleadas. 5. Procesamiento de imágenes empleado El método empleado para determinar la posición y orientación de cada móvil, consiste en primer lugar en una segmentación basada en color, posteriormente se realiza un proceso de erosión con lo cual se busca unificar la silueta del móvil; finalmente se realiza el cálculo del centroide y de los momentos principales para determinar la orientación que presenta el móvil. Los pasos del algoritmo empleado son: 6. Resultados Los valores empleados para la segmentación en el espacio L? a? b? se tienen en la tabla 1. Como es de apreciar, el último grupo de valores corresponde al fondo donde se encuentran los móviles. 1. Cargar la imagen. 2. Segmentación de figura basada en color. Muestra M1 (Amarillo) M2 (Rojo) M3 (Azul) M4 (Magenta) M5 (Fondo) 3. Binarización de las figuras segmentadas. 4. Erosión de las figuras segmentadas para eliminar ruido en la toma de la figura. L? 220.2322 126.5967 108.2200 109.3789 63.4644 a? 129.3344 200.0456 131.5378 185.0411 130.8433 b? 210.5756 188.5989 74.6600 128.5622 133.3244 5. Cálculo del punto medio de cada imagen segmentada mediante el centroide. Tabla 1. Valores de L? a? b? para las muestras consideradas. 6. Cálculo del ángulo de rotación mediante momentos principales. Con estos valores se procede a realizar la respectiva segmentación. En la figura 4 se muestra la composición de todas las segmentaciones realizadas, las cuales se diferencian mediante la respectiva asignación de color. 5.1. Proceso de segmentación La segmentación realizada se encuentra basada en la diferencia visual de los colores. Al respecto la segmentación es más efectiva en la medida que se puedan distinguir los colores empleados. El espacio de color L? a? b? permite cuantificar estas diferencias visuales. El proceso empleado para la segmentación empleando es el siguiente: 1. Cargar la imagen a procesar. 2. Calcular la muestra colores en el espacio de color L? a? b? para cada región. 3. Calcular las distancia de cada pixel y los respectivos marcadores (promedio) de cada región. Figura 4. Sectores segmentados. 4. Realizar la asignación de etiquetas a cada región, considerando la distancia más pequeña entre el color del pixel y los marcadores. Con cada una de las segmentaciones obtenidas se realiza el cálculo del centroide y del ángulo de rotación, teniendo los resultados mostrados en la tabla 2. 4 Muestra M1 (Amarillo) M2 (Rojo) M3 (Azul) M4 (Magenta) m (filas) 368 335 608 547 n (columnas) 434 692 447 706 7. Conclusiones θ (grados) 62.6397 38.9141 -62.4339 -18.4486 El método propuesto para estimar la posición y orientación de robots móviles en el espacio de trabajo, mostró tener buenos resultados para el caso de aplicación considerado. Para una aplicación en tiempo real, se debe considerar el tiempo empleado por cada una de las operaciones involucradas con el fin de tener un buen desempeño del sistema. En un trabajo futuro se espera realizar un conjunto de experimentos más amplio con el fin de validar el método propuesto. Tabla 2. Valores del punto medio y de la orientación. Finalmente con la información de la tabla 2 se construye el entorno virtual de los móviles, obteniendo el resultado mostrado en la figura 5. Referencias [1] C. Gros, “Complex and adaptive dynamical systems: a primer”, Springer, Heidelberg, 2008. [2] N. Ay, N. Bertschinger, N. Der, R. Güttler, F. Olbrich, “Predictive information and explorative behavior of autonomous robots”, European Journal of Physics B, vol. 63, pp 329-339, 2008. [3] T. Jung, D. Polani, P. Stone, “Empowerment for continuous agent-environment systems”, Adaptive Behaviour, vol. 19, num. 1, pp. 16-39, 2011. [4] M. Lungarella, O. Sporns, “Mapping information flow in sensorimotor networks”, PLoS Comput. Biol. vol. 2, num. 10 e144, 2006. [5] C. Gershenson, “The implications of interactions for science and philosophy”, Foundations of Science, Early View, 2013. Figura 5. Entorno virtual de los robots móviles. [6] M. Prokopenko, F. Boschetti, A.J. Ryan, “An informationtheoretic primer on complexity, self-organisation and emergence”, Complexity, vol. 15, num. 1, pp. 11-28, 2009. Los valores medidos de forma manual se tienen en la tabla 3. Por su parte, en la tabla 4 se presenta el valor absoluto de la diferencia entre los valores medidos manualmente y los calculados por el procesamiento propuesto. Muestra M1 (Amarillo) M2 (Rojo) M3 (Azul) M4 (Magenta) m (filas) 370 336 610 548 n (columnas) 432 691 446 706 [7] S. Camazine, J.L. Deneubourg, N.R. Franks, J. Sneyd, G. Theraulaz, E. Bonabeau, “Self-Organization in Biological Systems”, Princeton University Press, Princeton, 2003. [8] W.R. Ashby, “Design for a brain: The origin of adaptive behaviour”, 2nd edn. Chapman & Hall, London, 1960. θ (grados) 58 37 -65 -22 [9] G. Garcı́a, S. Jaén, D. Escarabajal, J. Molina, J. Hernández, “Segmentación automática de imágenes de cultivos: estudio comparativo de modelos de color”, I Symposium Nacional de Ingenierı́a Hortı́cola, 2014. Tabla 3. Valores medidos manualmente del punto medio y de la orientación. [10] M. Luszczkiewicz, “Which color space should be chosen for robust color image retrieval based on mixture modeling”, Advances in Intelligent Systems and Computing, vol. 233, pp. 55-64, 2014. Como es de apreciar en la tabla 4, se logra una buena aproximación entre los valores medidos manualmente y los calculados mediante el procesamiento propuesto. También se observa que la mayor diferencia se presenta para el cálculo de la orientación. Muestra M1 (Amarillo) M2 (Rojo) M3 (Azul) M4 (Magenta) |em | (filas) 2 1 2 1 |en | (columnas) 2 1 1 0 [11] D. Pascale, “A Review of RGB color spaces...from xyY to R’G’B”’, Babel Color Company, 2003. [12] P. Baldevbhai, R. Anand, “Color Image Segmentation for Medical Images using L*a*b* Color Space”, IOSR Journal of Electronics and Communication Engineering (IOSRJECE), vol. 1, no. 2, pp. 24-45, 2012. |eθ | (grados) 4.6397 1.9141 2.5661 3.5514 [13] J. Anil, “Fundamentals of Digital Image Processing”, Prentice Hall, 1989. [14] P. Gonzalo, “Visión por Computador”, Alfaomega Ra-Ma, Madrid, 2002. Tabla 4. Valor absoluto de la diferencia entre el valor medido y el calculado. 5
© Copyright 2024