Obtención de puntos de aprehensión 2D · y Matthew Mason [4 ], que presenta un método gráfico...

7
OBTENCION DE PUNTOS DE APREHENSION 2D A PARTIR DE IMAGENES DE UN OBJETO Raúl Suárez José Manuel Ramírez Israel Vázquez Instituto de Organización y Control de Sistemas Industriales (IOC-UPC) Diagonal 647, 08028 Barcelona, España E-mail: [email protected] / [email protected] / [email protected] Resumen Este trabajo describe un método computacional para la obtención de los puntos de aprehensión para un objeto plano a partir de la digitalización binaria del contorno de una imagen del objeto, utilizando la representación dual de fuerzas y la expansión del espacio dual para la selección de puntos de aprehensión. Palabras Clave: Robótica, Aprehensión y Espacio Dual. 1 INTRODUCCION La sujeción ha jugado un papel importante desde que el hombre apareció en la tierra, sus manos, como herramienta de trabajo, dieron formas a utensilios para subsistir. Hoy en día, la sujeción se aplica en el área industrial, desde unas simples pinzas, hasta complejos sistemas de sujeción para carrocerías. Un área en la que se ha trabajado desde hace mucho tiempo lo podemos ver con los trabajos realizados por H. Hanafusa y H. Asada [2] que usa un modelo de resorte lineal para encontrar una sujeción estable con tres dedos. Cabe destacar los estudios realizados por Mishra Schwartz y Sharir (1986) [3] que determinan la acción de al menos cuatro fuerzas generalizadas para el problema de equilibrado de fuerzas (force closure), esto divide el problema de force-closure en dos: El problema de fuerzas. Que determina si los conos de fricción de todos los puntos de contacto permiten generar fuerzas en todas las direcciones. El problema de momento. Para determinar si el acoplamiento de todas las fuerzas de contacto permite generar todos los torques para obtener una prensión en equilibrio. Y los trabajos realizados por [5] que muestran los cuatro y siete contactos necesarios y suficientes para la sujeción "form-closure" en cualquier poliedro en 2-D y 3-D respectivamente. Otro enfoque se refiere al trabajo de Rand y C Brost y Matthew Mason [4], que presenta un método gráfico para el análisis de movimientos de un cuerpo rígido sujeto a múltiples contactos de fricción en el plano. Una prensión con equilibrio de fuerza permite sujetar el objeto de forma que este no se mueva, ante la aplicación de fuerzas externas (por ejemplo al tocar con el objeto en alguna pieza al realizar un ensamblado o movimiento en el espacio de trabajo). Lograr una prensión con estas características es el objetivo de este trabajo. 2 EL ESPACIO DUAL DE FUERZAS Una fuerza de reacción f r (f x , f y ) que actúa en el plano y produce un momento τ con respecto a un origen de referencia O, resultado de una situación de contacto durante una tarea de ensamblaje, está representada en un espacio de fuerza tridimensional F 3 por una fuerza generalizada g=[ f x , f y, τ]. La dirección y sentido de una fuerza generalizada g en F 3 puede ser representada por las coordenadas del punto de intersección de la línea dada por g con el plano de momento unitario, conjuntamente con el signo de τ, ejemplo P=[ f x /|τ|, f y /|τ|] y el signo de τ. Esta representación de direcciones de una fuerza generalizada es fácilmente obtenida de la representación dual de fuerzas puras que actúan en un plano [1]. Figura 1. La Representación de una línea de fuerza es un punto en el espacio dual de fuerzas.

Transcript of Obtención de puntos de aprehensión 2D · y Matthew Mason [4 ], que presenta un método gráfico...

Page 1: Obtención de puntos de aprehensión 2D · y Matthew Mason [4 ], que presenta un método gráfico para el análisis de movimientos de un cuerpo rígido sujeto a múltiples contactos

OBTENCION DE PUNTOS DE APREHENSION 2D A PARTIR DEIMAGENES DE UN OBJETO

Raúl Suárez José Manuel Ramírez Israel VázquezInstituto de Organización y Control de Sistemas Industriales (IOC-UPC)

Diagonal 647, 08028 Barcelona, EspañaE-mail: [email protected] / [email protected] / [email protected]

Resumen

Este trabajo describe un método computacional parala obtención de los puntos de aprehensión para unobjeto plano a partir de la digitalización binaria delcontorno de una imagen del objeto, utilizando larepresentación dual de fuerzas y la expansión delespacio dual para la selección de puntos deaprehensión.

Palabras Clave: Robótica, Aprehensión y EspacioDual.

1 INTRODUCCION

La sujeción ha jugado un papel importante desde queel hombre apareció en la tierra, sus manos, comoherramienta de trabajo, dieron formas a utensiliospara subsistir. Hoy en día, la sujeción se aplica en elárea industrial, desde unas simples pinzas, hastacomplejos sistemas de sujeción para carrocerías.

Un área en la que se ha trabajado desde hace muchotiempo lo podemos ver con los trabajos realizadospor H. Hanafusa y H. Asada [2] que usa un modelode resorte lineal para encontrar una sujeción establecon tres dedos. Cabe destacar los estudios realizadospor Mishra Schwartz y Sharir (1986) [3] quedeterminan la acción de al menos cuatro fuerzasgeneralizadas para el problema de equilibrado defuerzas (force closure), esto divide el problema deforce-closure en dos:

• El problema de fuerzas. Que determina si losconos de fricción de todos los puntos de contactopermiten generar fuerzas en todas lasdirecciones.

• El problema de momento. Para determinar si elacoplamiento de todas las fuerzas de contactopermite generar todos los torques para obteneruna prensión en equilibrio.

Y los trabajos realizados por [5] que muestran loscuatro y siete contactos necesarios y suficientes para

la sujeción "form-closure" en cualquier poliedro en2-D y 3-D respectivamente.

Otro enfoque se refiere al trabajo de Rand y C Brosty Matthew Mason [4], que presenta un métodográfico para el análisis de movimientos de un cuerporígido sujeto a múltiples contactos de fricción en elplano.

Una prensión con equilibrio de fuerza permite sujetarel objeto de forma que este no se mueva, ante laaplicación de fuerzas externas (por ejemplo al tocarcon el objeto en alguna pieza al realizar unensamblado o movimiento en el espacio de trabajo).Lograr una prensión con estas características es elobjetivo de este trabajo.

2 EL ESPACIO DUAL DE FUERZAS

Una fuerza de reacción fr

(fx, fy) que actúa en el

plano y produce un momento τ con respecto a unorigen de referencia O, resultado de una situación decontacto durante una tarea de ensamblaje, estárepresentada en un espacio de fuerza tridimensionalF3 por una fuerza generalizada g=[ fx, fy, τ].

La dirección y sentido de una fuerza generalizada gen F3 puede ser representada por las coordenadas delpunto de intersección de la línea dada por g con elplano de momento unitario, conjuntamente con elsigno de τ, ejemplo P=[ fx/|τ|, fy/|τ|] y el signo de τ.Esta representación de direcciones de una fuerzageneralizada es fácilmente obtenida de larepresentación dual de fuerzas puras que actúan enun plano [1].

Figura 1. La Representación de una línea de fuerza esun punto en el espacio dual de fuerzas.

Page 2: Obtención de puntos de aprehensión 2D · y Matthew Mason [4 ], que presenta un método gráfico para el análisis de movimientos de un cuerpo rígido sujeto a múltiples contactos

La fuerza f con una línea de fuerza ax + by + c = 0,está representada por el punto dual F'=(a/c, b/c).Geométricamente, F' se encuentra localizado en ellado opuesto del origen O respecto a la línea defuerza y sobre la normal de dicha línea que pasa através de O, como se muestra en la Figura 1. Si ladistancia de la línea de fuerza a O es d, entonces ladistancia del punto dual a O es 1/d. Añadiendo unsigno, se puede representar la dirección de las líneasde fuerza. Por convención, el signo indica el signodel momento con respecto a O.

2.1 COMBINACIÓN DE FUERZAS

Se observa que las combinaciones lineales positivasde fuerzas asocian una combinación convexa depuntos duales. Esto se ve fácilmente en la Figura 2.Sean dos fuerzas f1 y f2, se construye el planoformado por estas fuerzas en el espacio fuerza-par.

Figura 2. Combinación lineal de dos fuerzas f1 y f2

Este segmento de línea puede cruzar desde el planode momentos positivos a el plano de momentosnegativos, intersectando la línea de momentos ceroen un punto. Sí f1 y f2 tienen momentos cero,entonces se obtiene un segmento de línea en elinfinito.

En la práctica, combinar dos o más fuerzas es simple,incluso cuando el casco convexo incluye puntos enambos planos, en la línea o en el infinito.

Es posible expandir el espacio dual de fuerzascombinando el conjunto de cuatro fuerzas aplicadas aun objeto rígido, una combinación de estas fuerzasque expande todo el espacio dual de fuerzas ocurre,cuando:

a) Un punto dual está en el interior de un polígonode signo contrario.

b) Dos segmentos de línea dual de signos contrariosse cortan. La Figura 3 muestra unos ejemplos.

Figura 3. Dos casos donde la combinación de lospuntos duales expande todo el espacio dual de

fuerzas.

3 ENFOQUE PROPUESTO

Dado el contorno del objeto:

1) Calcular la tangente en cada punto del contornode la imagen mediante un ajuste de rectas con lospuntos más próximos.

2) Calcular la normal a cada una de las tangentesobtenidas.

3) Obtener la representación dual de cada una deestas rectas.

4) Buscar en el espacio dual cuatro puntos que loexpandan.

5) Elegir los puntos del contorno que correspondana los puntos duales que cumplen con el resultadoobtenido en el inciso anterior.

Para utilizar este método, partimos del hecho que setiene un conjunto de puntos en el plano {Pi=(xi, yi)}i=1,2...,n están ordenados que al graficarlos suponeuna secuencia en un solo sentido y describe elcontorno del objeto, véase González [1].

3.1 AJUSTE DE RECTAS

Se parte de un punto cualquiera Pi, se determina unintervalo de n puntos para encontrar una recta queminimice la suma de las distancias verticales alcuadrado de los puntos a dicha recta, esto es:

2

11

2

111

=

∑∑

∑∑∑

==

===

m

ii

n

ii

m

ii

m

ii

m

iii

xxn

yxyxn

a(1)

2

11

2

1111

2

=

∑∑

∑∑∑∑

==

====

n

ii

n

ii

n

iii

n

ii

n

ii

n

ii

xxn

yxxyx

b(2)

Page 3: Obtención de puntos de aprehensión 2D · y Matthew Mason [4 ], que presenta un método gráfico para el análisis de movimientos de un cuerpo rígido sujeto a múltiples contactos

El intervalo esta formado por:

+−

−2

)1(

2

)1( , ni

ni

pp (3)

Donde n ∈ Ν, n>1 y n es impar, para que el punto aevaluar quede en medio del intervalo, como semuestra en la Figura 4.

Figura 4. Ajuste de la recta para el punto Pi

3. 2 PUNTOS DUALES

Para el cálculo de los puntos duales se encuentraprimero el centro de masa de la figura, y a partir deéste se trazan los ejes correspondientes al espaciodual. Luego se transforman las coordenadas de todoslos puntos de la figura, considerando su centro demasa como el origen.

Para cada punto se calcula su recta correspondienteen la forma descrita en el apartado anterior, peroconsiderando las nuevas coordenadas. A partir deesta recta, encontramos la ecuación de la normal aella y que pasa por el punto que se está evaluando enese momento. Esta es la recta normal al contorno delobjeto en el punto y por tanto la dirección de fuerza,que incluso en ausencia de fricción, puede realizar undedo durante la operación de aprehensión. A partir dela recta descrita por la normal es a la que se leobtiene su punto dual. Figura 5.

Para cada punto analizado, se van guardando lascoordenadas de su punto dual así como su signocorrespondiente en el acumulador A.

Figura 5. Obtención del punto dual para Pi

3. 3 SELECCIÓN DE PUNTOS DUALES.

En esta sección se explica el algoritmo de búsqueda yselección de los puntos duales que expanden elespacio dual de fuerzas y por lo tanto se correspondecon puntos del contorno del objeto, en la que losdedos producirían una aprehensión con equilibrio defuerzas.

Se tiene el acumulador A formado por Pd, S, y d,donde Pd es el punto dual formado por lascoordenadas (xd,yd), S el signo correspondiente a Pdy d la distancia euclidiana al origen del espacio dual.

Ordenar el acumulador A en función de la distanciade los puntos duales en forma creciente.

Inicio

Crear dos acumuladores: PdPositivos y PdNegativos.Inicializar sus punteros a cero y las banderasFlag_Cumple y No_Hay a falso.

Paso 1

Tomar el primer punto dual del acumulador A yverificar su signo, si el signo es positivo agregarlo enel acumulador de PdPositivos y aumentar su punteroen 1, si el signo es negativo agregarlo al acumuladorPdNegativos y aumentar su puntero en 1, continuaragregando puntos hasta tener un total de cuatro.

Cuando se agrega el cuarto punto dual verificar si setiene al menos dos puntos duales en el acumuladorPdPositivos y dos en el acumulador PdNegativos, sies así, ir a la función Condicion2() de lo contrarioverificar si se tienen tres Puntos duales en elacumulador PdPositivos y uno en el acumuladorPdNegativos, ir a la función Condicion1(), en casocontrario ir al paso siguiente. Este proceso se muestraen la Figura 6.

Figura 6. Ejemplo de posibles resultados.

Page 4: Obtención de puntos de aprehensión 2D · y Matthew Mason [4 ], que presenta un método gráfico para el análisis de movimientos de un cuerpo rígido sujeto a múltiples contactos

Paso 2

Tomar el siguiente punto dual del acumulador A, yagregarlo al correspondiente acumulador; aPdPositivos si el signo es positivo o PdNegativo si elsigno es negativo y aumentar su puntero. Seguir conla siguiente estrategia:

Si Pd es positivo ejecutar las funciones Condicion1()y Condicion3().

Si Pd es negativo ejecutar las funciones Condicion2()y Condicion4().

Repetir el paso 2. El proceso terminará cuando secumpla la condición que expande el espacio dual defuerzas y se obtengan los puntos correspondientes ala representación dual o cuando se hayan analizadotodos los puntos del acumulador A, en cuyo caso nose tendrán puntos de aprehensión.

Función Condicion1()

En esta función analizaremos si el último puntoañadido en el acumulador PdPositivo expande elespacio dual mediante la condición del polígono.Paraello es necesario realizar una combinación de estepunto con los anteriores y obtener un conjunto detuplas formadas por (Pdi,, Pdj, Pdk) : i≠j, j≠k, i≠k, quese combinan con cada punto dual del acumuladorPdNegativos. La Figura 7 nos muestra un ejemplo dela combinación de estos puntos.

Figura 7. Existen un total de 9 tuplas formadas por(Pdi,Pdj,Pdk) x (Pdl). Pdl pertenece al acumulador

PdNegativo.

Cuando se tienen las tuplas se aplica la funciónPolígono(Tupla) que evalúa la condición de polígonoy coloca la bandera Flag_Cumple a Verdadero siexiste un tupla que expanda el espacio dual defuerzas, en caso contrario, devuelve falso.

Función Condicion2()

En esta función analizaremos si el nuevo punto delAcumulador PdPositivo añadido expande el espaciodual de fuerzas mediante la condición de cruce, paraello, es necesario realizar una combinación de estepunto con los anteriores y obtener un conjunto detuplas (Pdi,Pdj) y la combinación de todos los puntosdel Acumulador PdNegativo para formar las tuplas(Pdk,Pdl).

Figura 8. El conjunto de tuplas formadas por (Pdi,Pdj)x (Pdk,Pdl) = 9.

Se aplica la condición de cruce(Tupla) que evalúacada una de las tuplas colocando a Flag_Cumple averdadero si existe alguna tupla que expanda elespacio dual de fuerzas, en caso contrario devuelvefalso.

Función Condicion3()

Al igual que la condición 1, esta función creará unconjunto de tuplas (Fdj,Fdk,Fdl) x (Fdl), sólo que eneste caso el punto Fdl corresponde al último puntoagregado en el Acumulador PdNegativos, así seanalizará este último punto con todos los puntosduales del Acumulador PdPositivos. La Figura 9muestra un ejemplo.

Figura 9. Combinación de todos los puntos duales delAcumulador PdPositivo y él ultimo punto agregado

Pdl del acumulador PdNegtivos.

Page 5: Obtención de puntos de aprehensión 2D · y Matthew Mason [4 ], que presenta un método gráfico para el análisis de movimientos de un cuerpo rígido sujeto a múltiples contactos

Teniendo el conjunto de tuplas, se evaluará con lacondición Poligono(tupla) que será descrita másadelante.

Función Condicion4()

Esta función sigue el procedimiento realizado en lafunción Condicion2(), con la única diferencia que elpunto Pdl corresponde al último punto adicionado alAcumulador PdNegtivo. Como se puede observar enla Figura 10, la combinación da un total de 30Tuplas.

Figura 10. Conjunto de tuplas formadas por (Pdi,Pdj)X (Pdk,Pdl)

Este conjunto de tuplas se analizaran mediante lafunción cruce(Tupla) y dará verdadera si existealguna tupla que cumpla la condición de cruce de locontrario nos dará un valor de falso.

Condicion Poligono(Tupla)

Para verificar que un punto queda dentro de untriángulo, se realiza el siguiente procedimiento:

Sea un triángulo formado por los vértices A, B y C, yel punto a evaluar P.

a) Crear los vectores AB, AC y AP. Verificar queel vector AP se encuentre entre los Vectores ABy AC y poner la bandera Flag_A en verdadero,en caso contrario el Punto P se encuentra fueradel triángulo.

b) Crear los vectores BA, BC y BP y verificar si elvector BP se encuentra entre los dos vectores ycolocar la bandera B_Flag en verdadero, en casocontrario devolver falso.

c) Si A_Flag y B_Flag son verdaderasgarantizaremos que el punto P se encuentradentro del triángulo ABC. La Figura 11 muestraun ejemplo.

Figura 11. Condiciones necesarias para que un puntoquede dentro de un triángulo.

Condicion Cruce(Tupla)

Aplicando el mismo principio que la CondicionPoligono(Tupla) se tienen cuatro puntos Pdi , Pdj ,Pdk Pdl, tales que Pdi y Pdj son los puntos dualespositivos y Pdk y Pdl son los puntos duales negativos.Llamemos a estos puntos A, B, C y Drespectivamente. Se trazan los vectores AB, AC yAD y se verifica que el vector AB se encuentre entrelos vectores AC y AD, si es así, se coloca la banderaA_Flag a verdadero y se continua, de lo contrario lafunción Condicion Cruce(Tupla) regresará falso.Continuando con la notación, trazaremos los vectoresBA, BC y BD, si BA se encuentra entre los vectoresBC y BD, entonces B_Flag será verdadera, de locontrario la función regresará falso. Si A_Flag yB_Flag son verdaderas, se coloca la BanderaFlag_Cumple a verdadero.

Figura 12. Condiciones necesarias para verificar siexiste el cruce de las líneas formadas por lossegmentos de recta AB y CD.

4 RESULTADOS

Para ilustrar la selección de puntos descrita en laSección 3, se aplica el procedimiento a 5 objetos,observados por una cámara en el laboratorio de

Page 6: Obtención de puntos de aprehensión 2D · y Matthew Mason [4 ], que presenta un método gráfico para el análisis de movimientos de un cuerpo rígido sujeto a múltiples contactos

Robótica del IOC (la obtención de los contornos estáfuera del campo de éste trabajo y por ello no sedescribe aquí). Todas estas funciones fueronimplementadas en el ambiente de programaciónVisual BASIC 5, el formato de las imágenes estaalmacenado un archivo de texto representado por doscolumnas, siendo la primera las coordenadas X y lasegunda las coordenadas Y que corresponden alcontorno de la figura. Para todas ellas se ha realizadoun ajuste de recta con 11 puntos. Los puntos dualespositivos están representados en color amarillo y lospuntos negativos en color verde. Los cuatro puntosde mayor tamaño indican los puntos seleccionadospara la aprehensión.

Ejemplo 1: la Figura 13 muestra un rectángulo de100 x 100 pixeles. (Ejemplo con una imagengenerada artificialmente). Y la Figura 14 muestra ella representación dual y la sujeción de puntos.

Figura 13. Imagen de un cuadrado de 100 x100pixeles.

Figura 14. Representación dual y puntos de sujeción.

Ejemplo 2: La Figura 15 muestra una cruz de 466 x565 pixeles y la Figura 16 la representación dual defuerzas.

Figura 15. Cruz de 466 x 565 pixeles.

Figura 16. Representación dual de fuerzas y puntosde sujeción.

Ejemplo 3: La Figura 17 muestra un círculo con unradio de aproximadamente 195 pixeles y la Figura 18la representación dual y la sujeción de puntos con lacondición de cruce.

Figura 17. Círculo de 195 pixeles de radio.

Figura 18. Representación dual para un ajuste de 11puntos y localización de los puntos de sujeción en la

figura original.

Ejemplo 4: La Figura 19 muestra un objeto irregularde 421 x 531 pixeles y la Figura 20 muestra losresultados obtenidos.

Figura 19. Figura Irregular de 421 x 531 pixeles.

Page 7: Obtención de puntos de aprehensión 2D · y Matthew Mason [4 ], que presenta un método gráfico para el análisis de movimientos de un cuerpo rígido sujeto a múltiples contactos

Figura 20. Representación dual y puntos de sujeción.

La Tabla 1 muestra resultados comparativos entretodas las figuras, en ella se puede ver el tiempo totalempleado para encontrar la primera condición queexpande el espacio dual, el número de combinacionesanalizadas y el número de puntos duales positivos ynegativos que se analizaron.

Figura Tiempo (seg.)

Iterac. Posit. Neg.

Irregular 0.5 1755 6 27

Cruz 2.59 34532 15 72

Círculo 0.43 815 3 30

Cuadrado 0.16 1 2 2

Tabla 1 Datos comparativos entre figuras.

5 CONCLUSIONES

En este artículo se ha descrito un método paraobtener prensión con equilibrio de fuerza mediantecuatro dedos. El método se aplica al contorno de unobjeto plano obtenido mediante visión artificial yhace uso de la representación dual de las fuerzas quepueden aplicar los dedos sobre el objeto, aun enausencia de fricción.

El procedimiento propuesto tiene la ventaja de queno requiere identificar un modelo geométrico delobjeto para luego determinar a partir de él los puntosde aprehensión y por lo tanto se evita así tiempo deprocesamiento.

Agradecimientos

Este trabajo fue parcialmente financiado por losproyectos CICYT TAP98-0471 y TAP99-0839. ElSr. Israel Vázquez tiene una beca de La AsociaciónNacional de Universidades e Instituciones deEducación Superior (ANUIES) con su programaNacional de Superación del Personal Académico(SUPERA)

Referencias

[1] Gonzáles, J. R. Gutiérrez (1999). “DirectEstimation from a Range Scan Sequence”. Journal ofrobotic System. Jhon Wiley & Sons Ltd. vol. 16, no.2.

[2] H. Hanafusa y H. sda, “Stable aprhension by arobot hand with elastic fingeres,” en proc. 7th Symp.Industrial Robots, 1977, pp. 361-368.

[3] Mishra, B., Schwartz, J.T. y Sharir, M.,”On theExistence and Synthesis of Multifinger PositiveGrips,” Technical Report No. 259, New YorkUniversity Courant Institute of MathematiclSciences, November 1986

[4] Randy C. Brost and Matthew T. Mason,“Graphical Analysis of Planar Rigid-Body Dynamicswith Multiple Frictional Contacts” en 5th

International Symposium on Robotics Research,pages 367-374, Aug. 1989.

[5] X. Markenscoff and C.H. Papadimitriou,“Optimum grip of a polygon,” Int. J. Robot. Res.,vol. 9, no. 1, pp. 61-74, 1990.