You are on page 1of 11

1

Realimentacin visual para brazos manipuladores. Un caso prctico


Jess Gonzlez Villagmez villagomez@us.es Control de Robots Manipuladores. Mster Automtica, Robtica y Telemtica
Septiembre 2012

ResumenEl objetivo del presente trabajo es proporcionar una implementacin para un caso tpico en la industria, como es el uso de sistemas de visin por parte de brazos manipuladores para la realizacin de tareas de montaje o ensamblado. Para ello se utiliza una arquitectura de realimentacin visual que depende tanto del modelo del objeto a seguir como del modelo de la cmara utilizada. Palabras clave : Visin articial, control visual.

I.

I NTRODUCCIN

La realizacin de tareas por parte de sistemas automatizados o robotizados en entornos estructurados con presencia de objetos cuya posicin y orientacin son conocidas, es un problema que se ha tratado con profundidad durante las ltimas dcadas. Sin embargo, si se considera la evolucin de los procesos de ensamblaje o industriales, donde la conguracin del contexto puede cambiar continuamente, se pone de maniesto lo vital que es dotar de informacin sensorial extra al sistema, dado que un brazo manipulador, por ejemplo, tan solo dispone (a priori) de elementos sensoriales internos (medicin de fuerza o posicin en las articulaciones). La utilizacin de un sistema sensorial externo de visin en la realizacin de una tarea por parte de un sistema automatizado, tiene la denominacin genrica de Control Visual (Visual Servoing) [4]. El sistema de visin obtiene informacin visual de la escena en forma de caractersticas de imagen, que son realimentadas al lazo de control del sistema. Los primeros estudios [5] aplicados sobre todo a procesos industriales ante la presencia de sistemas robotizados, desacoplaban las acciones de la extraccin de imgenes y el control del robot, de tal manera que el controlador, despus de recibir la informacin visual y determinar la posicin a la cual moverse, ordenaba al robot a moverse a dicha posicin asumiendo que no se haba producido ningn cambio en la escena, esto es, el entorno permanece esttico desde que el comando de movimiento fue ejecutado. La ventaja de este tipo de control es su simplicidad, siendo sta una de las razones (entre otras) por la que tan slo puede ser aplicable a sistemas en los que la tarea a realizar est determinada y no vare (muy comn en entornos industriales). En contraposicin, el control visual permite que el sistema de visin cierre el lazo de control, de manera que en cada ciclo la informacin visual del entorno o de algn objeto de inters situado en la escena sea actualizada de forma que el controlador corrija el movimiento a una nueva posicin de

destino. Esta tarea se realizara bien de forma indenida o hasta que el objeto a seguir haya desaparecido de la escena, con lo que se volvera a una posicin por defecto. La calidad del seguimiento y del control dependen del tipo y nmero de caractersticas de la imagen que se utilicen, donde la redundancia juega un papel muy importante (muy habitual en las tareas de control visual). Lo que se propone en el presente trabajo es una implementacin prctica del control visual. Se trata de dotar a un supuesto brazo manipulador de la capacidad de disponer de informacin visual para interaccionar con el entorno. Dicho mecanismo no es propio de brazos manipuladores: la misma tcnica puede ser incorporada a la arquitectura de control de vehculos areos autnomos [8], por ejemplo, para el proceso de generacin de trayectorias o el seguimiento de las mismas. La organizacin del presente documento consta de una primera seccin en la que se aporta una descripcin de un brazo manipulador comn en la industria, junto con las ecuaciones que rigen su cinemtica. En la seccin III se modela el sensor ptico, y toda la informacin visual que se puede obtener del mismo, mediante el algoritmo propuesto en la seccin IV, donde se expone de forma grca la solucin propuesta para este caso prctico. Por ltimo, en la seccin V se plantean algunas consideraciones y posibles lneas de trabajo. II. P LATAFORMA ROBTICA .

En esta seccin se presenta una descripcin detallada del manipulador robtico planteado para su integracin en este caso prctico, el modelo de Mitsubishi Melfa RV-12SDL, mostrado en la gura 1. II-A. Mitsubishi Melfa RV12SDL

La serie Melfa de Mitsubishi comprende una gran variedad de brazos articulados y robots de tipo SCARA, diseados para satisfacer de forma ptima los requerimientos de prcticamente todo tipo de aplicaciones industriales, debido a las grandes prestaciones que poseen [1], con un coste estimado por hora de trabajo de alrededor de 1, 65 C. La nomenclatura de los distintos modelos de la serie Melfa se puede observar en la gura 2, y ms concretamente, para el modelo actual, destacan las siguientes caractersticas: RV: Robot de brazo articulado vertical. 12: Capacidad de carga en Kg.

SD: Se corresponde con la serie SD. La principal diferencia entre la serie SD y SQ es que la segunda incluye una CPU. L: Ejecucin con brazo largo.

II-B.

Geometra. Estudio del modelo cinemtico

El estudio del modelo cinemtico directo, utilizando la tcnica extendida sistematizada de Denavit-Hartenberg, es necesario para que pueda ser incorporado en el esquema de realimentacin visual propuesto. En general, el modelo directo viene dado por una funcin, la cual permite expresar la posicin y orientacin del sistema de referencia objetivo en el espacio cartesiano p en trminos de las variables articulares q: p = (q) (1)

donde es un conjunto de funciones no lineales, y para este caso en particular: q= 1 2 3 4 5 6


T

Figura 1.

Manipulador Mitsubishi Melfa modelo RV-12SDL

El siguiente paso consiste en la asignacin de ejes a las distintas articulaciones, para la obtencin de los parmetros de Denavit-Hartenberg, que quedan identicados por los siguientes elementos (junto a la asignacin de sistemas de coordenadas, en la gura 3): i1 : ngulo (rad) de rotacin necesario para convertir zi1 a zi medido sobre el eje xi1 . ai1 : Traslacin (m); distancia entre zi1 a zi medido sobre el eje xi1 . i : ngulo (rad) de rotacin necesario para convertir xi1 a xi medido sobre zi . di : Traslacin (m); distancia entre xi1 a xi sobre zi . Tal y como se puede observar en las guras 2 y 3, el conjunto de articulaciones del manipulador y sus principales caractersticas quedan recogidas en el Cuadro 1.

Este modelo resulta ideal para la manipulacin de piezas en la fabricacin industrial o para el ensamblaje de componentes de planta. Posee una conguracin de 6 ejes, una velocidad mxima de 9500mm/s, una repetibilidad de 0, 05mm, y un peso total de 98kg. De forma general, todos los modelos de la serie en su conjunto disponen de las siguientes caractersticas: Transmisin de tipo Harmonic Drive de alta precisin, para obtener un alto grado de repetibilidad, con una precisin de 0, 005mm con un tiempo de ciclo de 0, 28seg. Proceso de aprendizaje muy rpido, gracias a la combinacin del toolbox de programacin (RT ToolBox2) y el software de simulacin MELFA WORKS. Posee adems Ethernet y CC-Link, para integracin en redes de control industriales e interfaz Probus. Gracias al controlador multitarea CR2D, permite la conexin con multitud de sistemas de procesado de imgenes.

Figura 3. Simulacin en SolidWorks de la posicin y orientacin de los sistemas de coordenadas asociados a cada articulacin para el estudio del modelo cinemtico directo. Figura 2. Nomenclatura serie Melfa de Mitsubishi.

Articulacin J1-Base J2-Hombro J3-Codo J4-Antebrazo J5-Mueca Pitch J6-Mueca Roll

Tipo Rotacin Rotacin Rotacin Rotacin Rotacin Rotacin

Rango Operacional [170, 170] [100, 130] [130, 160] [160, 160] [120, 120] [360, 360] Cuadro I

Total 340 230 290 320 240 720

Vel.Mx. 230/s 172/s 200/s 352/s 450/s 660/s

fusin con el sistema de la cmara, bastara con realizar el producto del conjunto de matrices de transformacin homogneas que ligan a los distintos sistemas articulares: p =0 T = 6 R3x3 01x3 t3x1 1 = (q) =0 T 1 T 2 T 3 T4 T 5 T 1 2 3 4 5 6

C ONJUNTO DE ARTICULACIONES

Tras el estudio geomtrico del manipulador, se estima que los parmetros de Denavit Hartenberg necesarios para obtener el modelo directo del manipulador, son los mostrados en el Cuadro 2. El primer sistema de referencia, el considerado como universal, se ha establecido coincidente en el mismo punto que el sistema de referencia de la primera articulacin. Las medidas mostradas en esta tabla son en mm para la longitud, y en grados para la rotacin.
Elementos Relacin Referencia J1 J2 J3 J4 J5 Elementos J1 J2 J2 J3 J3 J4 J4 J5 J5 J6 G.d.L. J1 J2 J3 J4 J5 J6 1 2 3 4 5 6 i1 0
2

2 2 2

Parmetros ai1 i di 0 1 0 L2 2 0 L3 3 0 L4a 4 L4d + L5 0 5 0 0 6 L6

donde R es la matriz de rotacin (orientacin del efector nal) y t es el vector de traslacin (posicin en coordenadas cartesianas del efector nal respecto del sistema de la base). Como conclusin, a partir del estudio del modelo cinemtico directo del brazo manipulador, se dispone de lo imprescindible para, utilizando la unidad de control propia del dispositivo, realizar aplicaciones industriales que requieran de sistemas pticos. Sin embargo, es posible continuar el estudio para obtener ciertos parmetros relativos a la dinmica del conjunto. Estos incluyen, entre otros, el clculo de la densidad y el volumen del brazo, as como los momentos de inercia asociados a cada articulacin por paraleppedos. Dado que en este trabajo lo que interesa es la disposicin entre garra/efector nal y cmara y el estudio de la realimentacin visual, no se profundizar en el control dinmico del robot, por asumir que es la unidad de control la que gestiona dicha tarea. III. S ENSOR PTICO

Long.Brazo Trasl.Sistemas Parmetro 150 L2 560 L3 80 265 L4a , L4d 405 L5 97 L6 Cuadro II PARMETROS DE Denavit-Hartenberg.

Reescribiendo (1) como p = (q) =0 T 1 T 2 T 3 T4 T 5 T 1 2 3 4 5 6 (2)

En la presente seccin se introduce el sensor ptico, el cual proporcionar la informacin visual complementaria (g To ) necesaria para cerrar el lazo de control y posicionar el objeto de inters respecto a la base del manipulador. Se introducen los parmetros internos para modelar el sistema de la cmara en conjuncin con parmetros externos o extrnsecos que ligan la relacin entre objeto y sensor visual. Por ltimo se presenta el posicionamiento tridimensional del objeto de inters.

III-A. para el caso particular de este estudio, se dispone de seis articulaciones y de un sistema de referencia universal {W}, el cual es coincidente con el primer sistema de referencia fsico del robot, el etiquetado como {1} (base). Dados los parmetros anteriores (i1 ,i ,di y ai1 ), la obtencin del modelo geomtrico directo del robot es inmediata. Suponiendo la expresin que liga un sistema de referencia i con un hipottico i 1, la matriz de transformacin homognea que liga ambos sistemas es la siguiente1 : ai1 si1 di ci1 di 1 (3) Para obtener la relacin entre el sistema de referencia solidario al efector nal y el sistema de referencia de la base (coincidente con el universal), necesario para la posterior ci si ci1 i i1 T = s s i i1 0 si ci ci1 ci si1 0 0 si1 ci1 0
1 Donde

Modelado Modelo Pinhole:

III-A1.

La modelizacin del sistema de la cmara planteado se basa en el modelo pinhole, en el cual se realiza una proyeccin en perspectiva de un punto espacial M a un punto m en el plano de la imagen a travs del centro ptico de la cmara {C}. El punto espacial M con coordenadas (Xc , Yc , Zc ) con referencia al sistema de coordenadas de la cmara, queda representado en el plano de la imagen por un punto m con coordenadas (u, v), o tambin denominadas coordenadas centrales, con referencia al punto central de la imagen (u0 , v0 )(gura 4), donde el punto principal de la cmara se encuentra en el eje ptico de la misma a una distancia focal f de su centro (sensor), en el que se verica v f u = = (4) Xc Yc Zc La expresin anterior se denomina transformacin en perspectiva, donde se ha supuesto un modelo libre de distorsin ptica.

c y s corresponden respectivamente al clculo del seno y coseno

III-A2.

Parmetros intrnsecos:

El punto m tambin puede referirse con respecto al borde superior izquierdo de la imagen que se da en coordenadas (x, y) en pxeles, o tambin denominadas como coordenadas laterales, realizando la siguiente transformacin: x y = u0 + fx u = v0 + fy v (5) (6)

donde el smbolo ~ representa que el punto se expresa en coordenadas proyectivas. Las coordenadas normalizadas se pueden conseguir a partir de las coordenadas en pxeles m a travs de la matriz de parmetros intrnsecos K despejando q de la relacin m = K . q III-A3. Parmetros extrnsecos:

que de forma matricial puede tambin escribirse como: u0 u x u v0 v o y = K v 1 1 1 1 (7) donde la matriz K 2 es la denominada matriz de parmetros intrnsecos, siendo sta una matriz de 3x3 que describe tanto la geometra como la ptica de la cmara. Se tiene que fx y fy son las denominadas distancias focales3 en las direcciones x e y respectivamente. fy 0 x fx y = 0 1 0

La supercie de los puntos de la escena se corresponde con el sistema de coordenadas, podramos decir, del mundo real, con un origen {W}, y un sistema de ejes de la forma (Xw , Yw , Zw ). Dado un punto de un objeto, P, ste queda expresado en el sistema de coordenadas respecto a {W} de la forma (P xw , P yw , P zw ). Supongamos ahora que se establece otro sistema de referencia, por ejemplo, en el origen {C}, y cuyos ejes quedan etiquetados como (Xc , Yc , Zc ), situado en el centro del eje ptico de la cmara, tal y como se muestra en la Figura 5. Gracias a esta relacin geomtrica se pueden denir cules son los parmetros extrnsecos4 del modelo, los que determinarn la posicin y orientacin del sistema de coordenadas de la cmara respecto del sistema de coordenadas del mundo real o del objeto5 .

Figura 4.

Modelo pinhole.

Una forma alternativa de expresar estas distancias focales es la siguiente: fx fy = kx f = ky f (8) (9)
Figura 5. Relacin gemetrica-espacial entre el sistema de coordenadas de la cmara y el sistema de coordenadas del objeto.

donde kx y ky son los factores de escala, que relacionan el tamao del pxel con la distancia real. Si se asume que f = 1, las coordenadas del punto m se denominan coordenadas normalizadas (representan coordenadas pertenecientes a un plano imagen ideal ubicado a una distancia del centro ptico igual a la unidad, y est representado por q), a partir de la ecuacin (4) se tiene que: X 1 c Yc = (u, v, 1)T (10) q= Zc Zc
2 El coeciente representa la prdida de perpendicularidad entre los ejes de la imagen. Se asume cero, puesto que prcticamente no afecta para los clculos posteriores. 3 Se puede considerar como la distancia del sensor hasta el origen del sistema de referencia del plano de la imagen.

La posicin del centro ptico {C} respecto a {W} se da mediante el vector de traslacin t: tx t = ty (11) tz y la orientacin de los ejes del sistema de la cmara respecto al sistema de ejes del objeto de referencia viene dada por la matriz de rotacin R (cuadrada de orden 3), la cual puede ser obtenida a partir del producto de matrices de las tres rotaciones
denominada como tcnica de calibracin externa. denicin puede ser al revs, considerando el sistema de referencia de la cmara como el origen.
5 La 4 Tambin

simples en cada eje. En esta situacin, una rotacin de grados alrededor del eje se expresar como Rot( , ): 1 0 0 Rot(X, x ) = 0 cosx senx (12) 0 senx cosx cosy 0 seny 0 1 0 Rot(Y, y ) = (13) seny 0 cosy cosz senz 0 cosz 0 Rot(Z, z ) = senz (14) 0 0 1 As, cmara y mundo quedan siguiente expresin: Xc Yc = R Zc relacionados cumpliendo la Xw Yw + t Zw

(15)

lineal directa (DLT). As, el mtodo propuesto hace uso de un objeto con nico patrn de calibracin impreso, muy generalizado, denominado tablero de ajedrez, combinando el uso de un mtodo basado en el algoritmo de Zhang, en el cual los parmetros de la cmara son obtenidos a partir de la transformacin 2D entre el plano del patrn y el plano de la imagen. En la bibliografa se puede encontrar referencia [2] a un toolbox de calibracin para Matlab muy extendido, el cual, conociendo el ancho de cada uno de los cuadros del tablero, para una cmara monocroma de resolucin (HxV) 752x480 pixels, con sensor CMOS de 1/3 (pixel cuadrado de 6m de ancho y alto), en concreto el modelo uEye UI-1220-M de IDS, a la que se le ha acoplado una ptica ja estndar COSMICAR/PENTAX de 12mm de distancia focal nominal, ha devuelto los valores de calibracin interna mostrados en el Cuadro 3.
Parmetro fx fy cx cy p1 p2 p3 t1 t2 Est (px) 2043.2402 2044.6518 354.8575 240.4531 0.3668 0.9305 0.00008 0.0005 0.0000 Comentarios Anchura efectiva del pixel de 6m (equivalente a 12.259442mm) Altura efectiva del pixel de 6m (equivalente a 12.267911mm) Coord x del punto principal en la imagen. Coord y del punto principal en la imagen. Coecientes de distorsin radial de la lente. Coecientes de distorsin tangencial de la lente.

Por lo que usando lo anterior, para un punto cualquiera, P, con componentes (P xw , P yw , P zw ) respecto al sistema de coordenadas {W}, se puede obtener su representacin respecto al sistema de coordenadas {C}, quedando sus componentes como (P xc , P yc , P zc ) usando (15) como sigue P xc P xw P yc = R P yw + t P zc P zw La ecuacin anterior se suele representar tambin como una nica matriz cuadrada de dimensin 4, expresada en forma de coordenadas homogeneas Pc 1 = c Tw Pw 1 (16)

Cuadro III PARMETROS INTRNSECOS DE CALIBRACIN

donde la matriz c Tw indica la matriz respecto del sistema de coordenadas de la cmara, teniendo la forma: T= III-A4. R3x3 01x3 t3x1 1 (17)

El proceso llevado a cabo incluye la toma de multitud de planos del mismo objeto, en condiciones similares, cambiando la relacin aparente cmara-objeto de calibracin. Dicho toolbox permite obtener al mismo tiempo una representacin grca de los distintos valores de los parmetros extrnsecos extrapolados, tal y como se puede observar en la gura 6.

Proceso de calibracin:

En la calibracin de la cmara se estiman los parmetros intrnsecos y extrnsecos. Su precisin es importante pues a partir de ellos se obtiene informacin mtrica de la escena tal como dimensiones reales del objeto, profundidad, movimiento a partir de imgenes, posiciones, orientaciones, etc. Tambin se determinan las distorsiones geomtricas producto de las imperfecciones de la cmara (distorsiones radial y tangencial). La calibracin de la cmara es llevada a cabo al observar un objeto de calibracin cuya geometra en el espacio 3D es conocida con muy buena precisin. Usualmente el objeto de calibracin consiste en uno o varios planos (si hay varios planos, suelen establecerse perpendiculares entre s) en los cuales se ha impreso un determinado patrn de calibracin. Los parmetros de la cmara son recuperados a partir de la relacin entre las coordenadas tridimensionales del objeto con sus correspondientes proyecciones bidimensionales en la imagen, como por ejemplo en el mtodo de transformacin

Figura 6. Representacin de los parmetros extrnsecos del sistema cmaraobjeto.

III-B.

Posicionamiento 3D mediante el sistema de visin

El sistema completo estar formado por la cmara, cuyo sistema de coordenadas ligado se etiqueta como {C}, acoplada

rgidamente a una plataforma sobre el brazo manipulador prxima al efector nal (sistema {G}) y un objeto de control apropiado para la tarea a realizar. Por otro lado, se propone que el objeto visualizado por la cmara sea una plantilla plana que se corresponde con el objeto de calibracin usado para la calibracin interna, es decir, el denominado tablero de ajedrez. El sistema ligado al mismo se denomina {O}. En general, tal y como se ha expresado en (17), la posicin y orientacin de un sistema cualquiera {B} respecto a otro sistema {A} podra expresarse mediante la matriz de transformacin homognea a Tb :
a

Tb =

Rb 01x3

tb 1

De manera que planteando la posicin y orientacin del objeto {O} respecto de {W} (base del manipulador):
w w

To =

Ro

01x3

to 1

(18)

Para el clculo de la relacin anterior, y recapitulando los elementos de los cuales se dispone, se tiene: Relacin entre el sistema de referencia inercial (coincidente con la base, {W}) con el efector nal ({G}), gracias al clculo del modelo cinemtico directo: w TG Haciendo uso del sistema de visin, relacin entre el sistema de referencia de la cmara ({C}) y el objeto de referencia ({O}): w TO . Falta el nexo de unin entre la base del manipulador y la cmara. En este caso, la matriz g Tc , calculada a partir de un proceso de calibracin fuera de lnea. Una propuesta pudiera ser el mtodo conocido como hand-eye calibration de Tsai y Lenz (gura 7), tradicionalmente empleado para la calibracin entre la cmara y el efector nal de un robot manipulador al que est rgidamente acoplada aqulla, en el cual tambin se hace uso del mismo objeto de calibracin utilizado para la calibracin de la cmara. El mtodo parte de la captura de varias imgenes desde diversos puntos de vista de dicho objeto, el cual debe permanecer inmvil, mientras se varan las posiciones de la cmara haciendo uso del brazo articulado. Para cada uno de los puntos de vista, debe registrarse la posicin del efector nal del brazo manipulador y realizar una estimacin de la posicin y orientacin del objeto respecto a la cmara. Una vez que se haya establecido esta relacin entre cmara y garra, ser constante, puesto que se establece un acoplamiento rgido mecnico entre ambos elementos. Dada esta matriz, es posible obtener la posicin y orientacin del efector nal respecto al sistema de coordenadas del objeto:
o

Figura 7. Esquema grco de calibracin cmara-garra mediante Tsai Lenz.

para que, en cada momento, haciendo uso del algoritmo de localizacin y seguimiento propuesto en la siguiente seccin, se puedan realizar las acciones que se consideren oportunas en un entorno industrial. IV. IV-A. M ECANISMOS DE EXTRACCIN DE INFORMACIN
VISUAL

Introduccin

Tg =o Tc g T1 c

As, aplicando sucesivos cambios de base, se tendr disponible la relacin entre la base del manipulador y el objeto de referencia, de manera que si se considera {B} como el sistema de referencia de la base, todo podr ser interpretado respecto a la misma de la forma:
B

TO =B TG G TC C TO

(19)

El algoritmo de localizacin y seguimiento presentado en esta seccin permite obtener la informacin visual necesaria para cerrar el lazo de realimentacin visual. Se obtendrn los parmetros extrnsecos del sistema, esto es, rotacin y traslacin del sistema que liga al objeto de inters y la cmara, para poder integrarlo en la unidad de control del manipulador, indicando as la posicin y orientacin deseadas respecto del sistema {B}. Esta tcnica se correspondera, si se mantiene o no el tipo de realimentacin articular, con la tcnica de Mirar y mover dinmico (gura 8), en la que se establecen dos frecuencias de operacin: lazo interno y ms rpido, lazo externo ms lento. Si se establece la clasicacin en base al espacio de control, el lazo de control externo se corresponde con la tcnica denominada control visual basado en posicin (PBVS - Position Based Visual Servo, gura 9), en la que es necesario conocer tanto la geometra de la cmara como la del objeto, y en la que el lazo externo realimenta valores en el espacio cartesiano, al tiempo que el lazo interno (unidad de control del robot) trabaja en el espacio articular. La implementacin aportada en esta seccin se ha llevado a cabo con una librera de procesamiento digital de imgenes

basadas en estndares abiertos, denominada OpenCV [3]. Aunque existen multitud de alternativas libres, como OpenTrackingLibrary[6], se propone OpenCV debido al elevado nmero de mtodos y funciones de los que ya dispone, al tiempo de diversos manuales y documentacin on-line. Sin embargo, existen alternativas bajo licencia muy extendidas en entornos industriales, como la alternativa comercial de MVTec Halcon [7]. Es un software que incluye multitud de algoritmos, herramientas de calibracin, y entornos integrados de desarrollo, que permite desplegar soluciones de visin articial en entornos industriales con elevados ndices de calidad. Sin embargo, la licencia ms bsica tiene costes prohibitivos para entornos de investigacin universitarios.

por las y por columnas) es sencilla de implementar. Pero dado que si se pretende que la presente propuesta sea factible en el mundo de la industria, para cada aplicacin en la que se requiera control basado en posicin, ser necesario contar con un modelo muy preciso del objeto. Dado el modelo, una vez que se hayan calculado la rotacin y traslacin del objeto respecto de la cmara (o viceversa) en cada escena, estos parmetros sern realimentados al control para cerrar el lazo. As pues, se supone que se dispone de los siguientes elementos en el entorno: Cmara: calibrada, o al menos se dispone de los parmetros intrnsecos obtenidos fuera de lnea. Correctamente conectada al computador o unidad de control, y transmitiendo en modo contnuo. Objeto de inters: Se dispone de la plantilla del tablero de ajedrez, conociendo perfectamente su geometra, midiendo el alto y ancho de sus cuadrados con un calibre, por ejemplo. Para esta propuesta se requiere la asumpcin del que el objeto de inters es plano. En otros casos, tanto la implementacin de los algoritmos de localizacin como la representacin del modelo seran ms complejos. En Algoritmo 1 se recoge la lgica ms bsica que resume los pasos a seguir para obtener los parmetros extrnsecos, si el objeto est dentro del espacio de visin de la cmara.

Figura 8.

Esquema Mirar y mover dinamico

Para exponer la presente seccin, en primer lugar se muestra una descripcin del modelado del objeto, el cual se corresponde con el elemento a seguir en el entorno mediante algoritmos de localizacin y seguimiento que son ejecutados en tiempo real. Posteriormente, y una vez localizado el mismo en la escena, se extraen los parmetros extrnsecos para, en ltima instancia, ser reproyectados estos puntos en el plano de la imagen para vericar que la estimacin es correcta.

Algoritmo 1 Algoritmo general para la extraccin de informacin visual para el esquema de control PBVS. Pui2D: Puntos sin distorsin imagen; PO3D: Puntos objeto 3D. Matriz K: Matriz de calibracin de la cmara. [K1..Kn]: Parmetros de distorsin de la lente.
Inicio ControlPBVS ReservaEstructurasMemoria(...) InicializacionCamara(camara) [K,[K1..Kn]]:= CalibracionInterna(camara) [PO3D]:= DefinicinGeometriaObjeto(objeto) mientras (cierto): imagen := CapturaImagen(camara) [Pui2D] := LocalizarObjeto(imagen) [Rot,trasl]:= CalibracionExterna([Pui2D],[PO3D]) imgColor := ProyectaPuntos([PO3D], Rot,trasl,K,[K1..Kn]) fin mientras LiberaRecursosMemoria(..) LiberaCamara(camara) Fin Algoritmo

Figura 9.

Esquema PBVS

IV-B. Objeto de referencia tridimensional La razn principal por la cual se propone el tablero de ajedrez como objeto de inters es porque su geometra (puntos

IV-C. Representacin, localizacin y seguimiento Es relativamente sencillo localizar los puntos caractersticos o corners de un tablero de ajedrez despus de consultar la documentacin de OpenCV [3]. La funcin cvFindChessboardCorners() se utiliza pues para la obtencin de las coordenadas de los puntos caractersticos en el plano de la imagen. Adems, dichos corners de la parrilla interior de puntos del tablero de ajedrez presentan unas propiedades muy buenas para la localizacin y seguimiento, no tanto como pudiera tener otro objeto de inters. Existen otras alternativas para la localizacin de dichos puntos: detector de corners de Harris; interseccin entre rectas interiores al tablero usando algoritmos de deteccin de bordes, como Canny, etc.

En cada toma, para la localizacin de los puntos interiores al tablero, se usa la funcin de OpenCV cvFindChessboardCorners(), cuyo prototipo es el siguiente: int cvFindChessboardCorners( const void* image, CvSize pattern_size, CvPoint2D32f* corners, int* corner_count = NULL, flags = CV_CALIB_CB_ADAPTIVE_THRESH ); donde: image : Imagen que contiene al objeto de inters. pattern_size : Estructura para la denicin de tamao en OpenCV. Se indican el nmero de las y columnas, especicados por el nmero de corners internos a lo ancho y nmero de corners internos a lo alto del tablero. corners : Estructura tipo array de OpenCV en la que se almacenan las coordenadas (del plano de la imagen) correspondientes a los puntos extrados del tablero. corner_count : Puntero a entero, en el cual se indica el nmero de corners del tablero encontrados. Mscaras de comportamiento : CV_CALIB_CB_ADAPTIVE_THRESH: Se usar un umbral adaptativo para el contraste en la imagen para la localizacin de los corners. CV_CALIB_CB_FILTER_QUADS: Conjunto de restricciones son aplicadas para rechazar posibles falsos corners. Una limitacin que presenta esta funcin es que si el tablero completo no est contenido dentro de la escena, y no se detecta, por ejemplo, una la o columna, no devuelve el conjunto de puntos de la parte del tablero visible, dado que no cumple con los parmetros de entrada indicados. Esto da pie a otros mtodos para la localizacin de objetos (basados en descriptores, como SIFT o SURF), pero no son del mbito del presente trabajo. El siguiente paso consiste en aplicar un proceso de renamiento sobre el conjunto de coordenadas para precisar an ms la localizacin de los puntos caractersticos o corners obtenidas en el punto anterior. Esta tarea se realiza con la funcin de OpenCV cvFindCornerSubPix(), cuyo prototipo es: void cvFindCornerSubPix( const CvArr* image, CvPoint2D32f* corners, int count, CvSize win, CvSize zero_zone, CvTermCriteria criteria );

donde: image, corners y count : Igual que en el caso anterior, salvo que se supone que en image estn presentes los corners pasados como argumento de entrada. win : Estructura en OpenCV para especicar el tamao de la ventana de bsqueda del punto caracterstico, en pxeles. En esta propuesta se considera una ventana de 5x5 de radio desde la posicin del punto, con lo que sumando el tamao del pxel en horizontal y vertical queda una ventana de CvSize(11,11). zero_zone : No relevante para el caso actual. criteria : Se establecen el nmero de iteraciones mximo en el proceso de bsqueda. En este caso: cvT ermCriteria(CV _T ERM CRI_T P S | CV _T ERM CRIT _IER, 30, 0,1). indicando que el algoritmo iterar un nmero mximo de iteraciones que se establece en 30 cuando se haya alcanzado una precisin del 10 %. Almacenadas las coordenadas de los puntos en estructuras de memoria intermedias, y obtenidas las coordenadas precisas de la localizacin de los puntos del tablero, queda realizar la representacin de la geometra del objeto, deniendo los puntos del objeto, y calcular los parmetros extrnsecos del sistema, asumiendo que tanto la cmara como el objeto pueden desplazarse en cualquier momento. El objeto se puede denir virtualmente como una malla de puntos, ordenados por las y columnas, cuya distancia de separacin sea dada en milmetros (Algoritmo 2). La tercera coordenada (z) se establece a 0, puesto que se supone que el objeto descansa sobre el plano que contiene al sistema de referencia propio. Un ltimo detalle es indicar qu se considera eje X y eje Y respecto del sistema de coordenadas del objeto. En la gura 10 se observa la asumpcin del eje horizontal del objeto como Y, el vertical etiquetado como X y apuntando hacia la cmara, el eje Z. Algoritmo 2 Representacin virtual del objeto. Nota: PObj: PuntosObjeto; tCmm: Tamao del cuadrado en mm.
// Bucle externo a lo largo del eje X desde i = 0 hasta i < numCornersEjeX { paso: i++ // Bucle interno a lo largo del eje Y numCorner = i*numCornersEjeY; desde j = 0 hasta j < numCornersEjeY { paso: j++, numCorner++ Obj.PObj[numCorner, 0] = i*tCmm; Obj.PObj[numCorner, 1] = j*tCmm; Obj.PObj[numCorner, 2] = 0.0f; } }

IV-D.

Clculo de los parmetros extrnsecos

IV-E.

Proyeccin tridimensional Si la calibracin interna de la cmara se ha realizado correctamente. Si se ha denido correctamente el objeto tridimensional. Si se ha realizado correctamente la extraccin de los parmetros extrnsecos del sistema.

En OpenCV existe una funcin que permite calcular los parmetros extrnsecos, denominada cvFindExtrinsicCameraParam2(), la cual se detalla a continuacin: void cvFindExtrinsicCameraParams2( const CvMat* object_points, const CvMat* image_points, const CvMat* intrinsic_matrix, const CvMat* distortion_coeffs, CvMat* rotation_vector, CvMat* translation_vector ); La descripcin de los parmetros es la siguiente: object_points : Representacin virtual de la geometra del objeto. Presentada en el Algoritmo 2. Coordenadas tridimensionales respecto al sistema del objeto. image_points : Coordenadas bidimensionales respecto al plano de la imagen de los puntos extrados con la funcin cvFindChessboardCorners(). intrinsic_matrix : Funcin de parmetros intrnsecos de la cmara K . distortion_coeffs : Vector de coecientes de distorsin radial y tangencial. Expresado de la forma: k1 , k2 , p1 , p2 y k3 (donde ki indican coecientes de distorsin radial y pi coecientes de distorsin tangencial).6 rotation_vector : Vector de rotacin, en el que se devuelve, por cada eje, el vector unitario asociado y el ngulo de giro sobre el mismo. Para obtener la matriz de orden 3 necesaria para la aplicacin, se puede usar la funcin de OpenCV cvRodrigues2(). translation_vector : Vector de traslacin del sistema. Los valores devueltos estn expresados en mm.

En este punto se puede vericar:

Si alguna de las tres etapas anteriores se ha superado con algn tipo de error, la reproyeccin de la estimacin de los puntos del objeto no ser adecuada, y por lo tanto, la reconstruccin 3D del mismo contendr errores. Esto es, dada una localizacin en el espacio tridimensional respecto del sistema de coordenadas de la cmara, es posible reconstruir de forma unvoca donde debera aparecer en el plano de la imagen en coordenadas expresadas en pxeles, el punto externo tridimensional. Dicha transformacin se realiza usando la funcin de OpenCV denominada cvProjectPoints2(), cuyo prototipo se expone a continuacin: void cvProjectPoints2( const CvMat* object_points, const CvMat* rotation_vector, const CvMat* translation_vector, const CvMat* intrinsic_matrix, const CvMat* distortion_coeffs, CvMat* image_points, ..); donde: object_points : Representacin virtual (Algoritmo 2) de la geometra del objeto. Coordenadas tridimensionales respecto al sistema del objeto. rotation_vector : Vector de rotacin, representado como rotacin respecto a cada eje. translation_vector : Vector de traslacin del sistema. Los valores devueltos estn expresados en mm. intrinsic_matrix : Funcin de parmetros intrnsecos de la cmara, K. Junto con los coecientes de distorsin, es usada para corregir geomtricamente la imagen. distortion_coeffs : Vector de coecientes de distorsin. image_points : Parmetro de salida; contendr las coordenadas tridimensionales de la localizacin del objeto, respecto del sistema de coordenadas de la imagen. Posteriormente ser usado para dibujar los puntos reproyectados. Tras la ejecucin de la anterior funcin, es posible dibujar la reproyeccin de los puntos calculados sobre el tablero, con una precisin que depende directamente tanto de la ptica como de las caractersticas de la cmara.

Figura 10. Representacin de los ejes del sistema de coordenadas del objeto.

6 De forma muy resumida, la distorsin radial est asociada a la curvatura de la lente, mientras que la distorsin tangencial queda asociada a la disposicin existente entre el sensor (CMOS, por ejemplo) de la cmara y la ptica.

10

Figura 11.

Disposicin brazo manipulador-cmara-objeto de inters. Transformacin entre sistemas de referencia.

El ltimo paso consiste en dibujar el eje Z sobre el tablero (profundidad), y para conseguir la reconstruccin parcial completa es necesario dividir esa pequea cantidad por la reproyeccin del eje Z, haciendo uso de la expresin (4). Los resultados obtenidos se muestran en la gura 12, donde una reproyeccin tridimensional del objeto de inters a partir de los parmetros extrnsecos del sistema es llevada a cabo. Como conclusin, tras realizar el conjunto de pasos anteriores, ya se dispone de los parmetros extrnsecos, con una resolucin del orden de mm, para poder ser integrados en la unidad de control del manipulador e indicar referencias asociadas al campo visual, para tareas propias del entorno industrial. Aplicando el producto de matrices recogido en la expresin (19), es posible indicar movimiento a coordenadas del entorno del objeto, referenciadas desde la base del manipulador, {W}, siguiendo el esquema de la gura 11.

IV-F. Otras alternativas Existen otras tcnicas, no expuestas en este trabajo, para la obtencin de la relacin entre la cmara asociada al efector nal y algn objeto de inters, y para la localizacin del mismo (Surf, Sift, ujo ptico, etc). De hecho seran muy beneciosas para entornos industriales, dado que son independientes del modelo del objeto de referencia (en este tipo de tcnicas no se considera la estructura tridimensional del objeto, sino que se asume que el mismo es plano). Ya no se calculan los parmetros extrnsecos del sistema, tal cual; en este tipo de alternativas tan solo existe el plano de la imagen, y el conjunto de puntos extrados del mismo es lo que se intenta seguir en una secuencia de imgenes. Se plantea una relacin de transformacin proyectiva, en la que se toma la primera imagen del objeto (imagen de referencia) y se calcula en cada toma sucesiva la matriz de homografa con la nueva imagen del objeto capturada, de forma que en cada instante de tiempo tenemos una matriz H, cuyos coecientes transformaran la posicin actual del objeto a la posicin de referencia. Una vez calculada dicha matriz entre cada par de imgenes (referencia y actual), se pueden plantear diversas tcnicas para la extraccin de la rotacin y traslacin, entre las cuales destacan las de descomposicin analtica y numrica. Sin embargo, aunque la rotacin no se vea afectada, el vector de traslacin no viene dado en unidades mtricas como en la primera propuesta, sino que viene escalado y determinado por un factor desconocido. Por ello, propuestas que utilizan este tipo de tcnicas para el control visual basado en posicin incluyen tambin medidas de sensores de distancia, que aportan la componente de profundidad necesaria para poder extrapolar los parmetros extrnsecos reales. V. C ONCLUSIN El presente trabajo ha presentado una propuesta para un caso prctico de implementacin de un esquema de realimentacin visual basado en posicin, alternativa la cual requiere de mltiples modelos: modelo de parmetros intrnsecos de la

Figura 12.

Reconstruccin 3D del objeto de inters.

11

cmara, especicacin tridimensional del objeto de inters, etc. No se ha presentado ninguna referencia a controladores articulares bajo la asumpcin de que es la unidad de control del brazo manipulador quien, indicando referencias externas en espacio cartesiano, se encarga del control cinemtico y dinmico del manipulador. Sin embargo, s ha sido necesario el presentar las ecuaciones del modelo cinemtico directo para poder calcular la matriz de transformacin homognea que liga base y efector nal, para poder relacionarlo del mismo modo con el objeto de inters capturado por el sensor ptico. La tcnica de extraccin de informacin visual no es caracterstica de este tipo de aplicaciones. De hecho, es posible integrarla en equipos robticos terrestres o areos, complementando as la carga sensorial de los mismos, pudiendo ser alternativas en situaciones en las que, por ejemplo, para funciones de navegacin no se disponga de cobertura GPS, sensor muy utilizado en la navegacin autnoma. Simplemente con tomar diversas asumpciones sobre el o los objetos a tomar como referencias, el control visual para navegacin es factible. En la literatura existen diversos mtodos para la localizacin y seguimiento de objetos: algunos de ellos presentan mejores propiedades ante oclusiones parciales o condiciones lumnicas pobres (es el caso de SURF o SIFT). El motivo por el cual no se han presentado en este trabajo es porque en entornos industriales todo en el rea o celda de trabajo se prepara de la mejor forma posible para que las condiciones de trabajo sean las mejores; incluyendo (si existen sensores pticos) el mejor acondicionamiento para la extraccin de informacin visual. R EFERENCIAS
[1] Especicaciones Serie Melfa Mitsubishi. Sitio web de Mitsubishi Corporation. http://www.mitsubishi.com [2] J.-Y. Bouguet, Camera Calibration Toolbox for Matlab, Junio 2008. http://www.vision.caltech.edu/bouguetj/calibdoc/index.html. [3] G. Bradsky and A. Kaelher, Learning OpenCV. Computer Vision with the OpenCV Library, OReilly, 2008. [4] Tarek Hamel, Robert Mahony. Image based visual servo control for a class of aerial robotic systems. [5] Hill, J., and Park, W.T. Real Time Control of a Robot with a Mobile Camera. Proceedings of the 9th ISIR , Washingtong DC, March, pp. 233-246, 1979. [6] Open Tracking Library. http://www.opentl.org/ [7] MVTec Software GmbH Halcon. http://www.mvtec.com/halcon/ [8] Realimentacin visual para el control de un vehculo areo cuatrimotor no tripulado. Proyecto Final de Carrera. Jess G. Villagmez. Septiembre 2010.

You might also like