Identificación de la posición y orientación de robots

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