142 IEEE LATIN AMERICA TRANSACTIONS, VOL. 2, NO. 2, JUNE 2004 Control Visual Basado en Flujo de Movimiento para el Seguimiento de Trayectorias con Oclusiones J. Pomares y F. Torres, Miembro, IEEE Abstract—En este artículo se describe una nueva técnica para el seguimiento de trayectorias ante oclusiones empleando control basado en imagen, denominada control visual basado en flujo de movimiento. Esta estrategia permite el seguimiento de trayectorias especificadas en el espacio de la imagen presentando asimismo un correcto comportamiento en el espacio cartesiano 3D. Una de las principales aportaciones conseguidas es la posibilidad de realizar el seguimiento de forma no dependiente del tiempo, lo que permite asegurar un correcto seguimiento de la trayectoria al no verse el sistema sometido a restricciones temporales. Para posibilitar el seguimiento de trayectorias ante oclusiones se describe la integración de la información procedente del flujo de movimiento en un estimador basado en el filtro de Kalman, y para validar las estrategias propuestas se aplican a un robot con una cámara en su extremo. Index Terms—control visual 2D, tareas de posicionamiento, sistemas eye-in-hand, seguimiento de trayectorias, oclusiones. I. INTRODUCCIÓN L OS sistemas de control visual han sido empleados hasta la actualidad en un amplio rango de aplicaciones [1]. Típicamente los sistemas de control visual se clasifican en basados en posición y basados en imagen [2]. El primer caso está basado en el cálculo de un error en el espacio cartesiano 3-D para lo que requieren un modelo CAD perfecto del entorno y un sistema de cámara calibrado. Este tipo de sistemas es muy sensible a errores de modelado y ruidos externos. En el caso de control visual basado en imagen el error se determina directamente en la imagen. Esta aproximación es robusta frente a errores de modelado [3] pero en general se obtiene un movimiento no adecuado de la cámara en el espacio cartesiano 3-D [4]. La mayoría de las aplicaciones actuales de los sistemas de control basados en imagen son tareas punto a punto en las que se desea alcanzar una determinada configuración de las características en la imagen a partir de una configuración inicial, no pudiendo especificar una trayectoria entre las Este trabajo ha sido financiado por el proyecto DPI2002-02103 “Desensamblado automático selectivo para reciclado mediante robots y sistema multisensorial”. J. Pomares pertenece al Departamento de Física, Ingeniería de Sistemas y Teoría de la Señal, Universidad de Alicante, Alicante, España (teléfono: (34) 96 590 34 00 Ext. 2032; fax: (34) 96 590 97 50; e-mail: [email protected]). F. Torres pertenece al Departamento de Física, Ingeniería de Sistemas y Teoría de la Señal, Universidad de Alicante, Alicante, España (e-mail: [email protected]). configuraciones inicial y deseada. Solo recientemente [5] es posible encontrar sistemas de control visual basados en imagen para el seguimiento de trayectorias. Sin embargo, estos sistemas presentan un comportamiento dependiente del tiempo en los que la configuración actual y la deseada se encuentran separadas por un intervalo de tiempo, 't. Sin embargo, el mantener las restricciones temporales no es crítico comparado con la necesidad de mantener la trayectoria en la imagen, de forma que se puede correr el riesgo de no seguir la trayectoria adecuada a costa de intentar mantener las restricciones temporales (véase el Apartado V.C). Para resolver este problema, en este artículo se describe un nuevo sistema de seguimiento de trayectorias, denominado control visual basado en flujo de movimiento, con el que la tarea a desarrollar por el robot se codifica en el espacio de configuraciones de la imagen. El control por campo de velocidad ha surgido recientemente a partir de trabajos como [6][7], en los que la tarea se codifica haciendo uso de un campo de vectores como una alternativa al control de movimiento clásico. A partir de los trabajos anteriores han surgido nuevos, como los descritos en [8], encaminados al diseño de reguladores que garanticen una correcta estabilización del robot para el seguimiento de un campo de velocidad. Sin embargo, la aproximación propuesta en este artículo supone una particularización de estos campos de velocidad (denominados aquí como flujos de movimiento) al caso de seguimiento de trayectorias en el espacio imagen. De esta manera, el sistema de control de trayectorias diseñado es un sistema de control basado en imagen que hace uso de la información almacenada en el flujo de movimiento como referencia del sistema de control visual. Otro aspecto tampoco desarrollado en trabajos anteriores, y sí tratado en este artículo, es la generación automática de los flujos de movimiento. Tras la definición del concepto de sistema de control visual basado en flujo de movimiento, se describe cómo puede hacerse uso de esta estrategia para el seguimiento de trayectorias ante oclusiones. El flujo de movimiento supone una codificación de la trayectoria deseada en la imagen, lo que permite conocer de antemano qué trayectoria debería describir cada una de las características en la imagen, por lo que se ha integrado la información del flujo de movimiento en un filtro de Kalman para permitir el seguimiento ante oclusiones. El artículo se organiza de la siguiente manera. En la Sección II se muestran conceptos básicos acerca de las trayectorias a seguir en la imagen. La Sección III describe cómo generar el flujo de movimiento a partir de la trayectoria POMARES AND TORRES : MOVEMENT FLOW-BASED VISUAL SERVOING en la imagen obtenida en la Sección II. En la sección IV se describe la aplicación de una estrategia de control visual basada en flujo de movimiento para el seguimiento ante oclusiones. En la Sección V se muestran los resultados obtenidos empleando un sistema de cámara en el extremo de un robot. II. PLANIFICACIÓN DE TRAYECTORIAS EN EL ESPACIO DE LA IMAGEN Considerando J(t) la trayectoria 3-D a seguir, a partir de un muestreo de dicha trayectoria se obtiene una secuencia de N valores discretos, cada uno de ellos representando N posiciones intermedias de la cámara k Ȗ/k 1...N . A partir de esta secuencia se obtiene la trayectoria discreta de un objeto en la imagen S ^ k s/k 1...N` , donde ks es el conjunto de M puntos o características del objeto observadas por la cámara en el instante k, k s ^ k f i /i 1...M` . La trayectoria discreta en la imagen que habrá de ser seguida por el sistema de control visual basado en flujo de movimiento está compuesta de M trayectorias, Ci / i 1...M (una por cada característica extraída de la imagen), de forma que los valores en la imagen de cada una de las M trayectorias en los instantes de tiempo k son Ci ^ k f i / k 1...N` . Como se ha indicado en la introducción, para cada característica se realiza una codificación de la trayectoria deseada en la imagen fid(W), omitiendo la información temporal, de forma que, fid:* o donde * . Por esta razón, para obtener la trayectoria deseada, fid(W), se aplica un interpolador cardinal cúbico a las muestras de Ci, y finalmente se obtiene una representación de esta trayectoria en el espacio imagen. III. FLUJO DE MOVIMIENTO En este apartado se describe el concepto de flujo de movimiento. Para ello en la Sección III.A se expone el concepto general de flujo de movimiento, para pasar a describir en las Secciones III.B y III.C detalles relacionados con este concepto tales como funciones de peso y de potencial. A. Definición El flujo de movimiento, ), se define como ): o T, siendo el espacio de configuraciones de la imagen y T el espacio tangente. El flujo de movimiento está compuesto por un conjunto de vectores que convergen hacia la trayectoria deseada en la imagen. Estos vectores cumplen que sus valores en cada punto de la trayectoria deseada son tangentes a la trayectoria, y fuera de la trayectoria tiende a disminuir los errores de seguimiento. El flujo de movimiento consiste pues en un campo de vectores que indican la dirección en la que habrán de encontrarse las características deseadas para ser empleadas por un sistema de control basado en imagen, lo que permitirá en última instancia realizar el seguimiento de la trayectoria. Así, en un sistema de control visual basado en 143 flujo de movimiento, la velocidad aplicada al robot respecto al sistema de coordenadas de la cámara es: Ȝ Jˆ f+ ef vC (1) donde O es la ganancia del controlador proporcional; Ĵ f+ es una estimación de la pseudoinversa de la matriz de interacción [2], ef s s d , s=[f1, f2,…, fM]T son las características extraídas de la imagen, sd=[f1+m1)1(f1), f2+m2)2(f2),…, fM+mM)M(fM)]T, )i es el flujo de movimiento para la característica i, y m={m1, m2,…, mM} determina la velocidad de progresión, de forma que modificando el valor de m se obtendrá un seguimiento más o menos rápido. Para definir el flujo de movimiento se va a considerar que, para una característica i, se desea seguir una trayectoria parametrizada en la imagen fid:* o donde * , de forma que si * fuera el tiempo se tendría la trayectoria clásica en la imagen dependiente del tiempo. Considerando que fi son las coordenadas de la característica i en la imagen y que las coordenadas del punto más cercano en la trayectoria deseada son find=(fxind, fyind), se define el vector de error Ei(fi)=(Exi, Eyi) donde Exi=(fxi-fxind) y Eyi=(fyi-fyind). A partir de este error se define la función de potencial Ui:n o calculada según se describe en el Apartado III.C. Ui aumenta conforme fi se desvía de su localización deseada find y alcanza su mínimo cuando el error es cero. A partir de las funciones anteriores se define el flujo de movimiento para una característica i, )i, como una combinación lineal de dos términos: )i fi G1 § wU i § wf xid IJ · ¨ wE ¨ ¸ w IJ ¸ G2 f i ¨ xi fi ¨ ¨ wU i ¨ wf yid IJ ¸ ¨¨ ¨ ¸ © wIJ ¹ © wEyi · ¸ ¸ ¸ ¸¸ ¹ (2) donde G1, G2: o + son funciones de peso definidas según lo descrito en el Apartado III.B. Como se muestra en [7], fruto de la aplicación del campo de velocidad codificado en )i, la evolución esperada para una característica i, y considerando un valor de E > 0, será: fi E )i (3) De forma que Ei variará según: wU i (4) wEi Por lo tanto, el error evoluciona en la dirección del gradiente negativo del potencial y convergerá en un punto de Ui en el que Exi=Eyi=0, con lo que fiofid. Una consideración aparte debe realizarse con la velocidad de progresión. Hasta ahora se han considerado M características, cada una de las cuales debe seguir una trayectoria deseada en la imagen. Sin embargo, es necesario que cada una de las M trayectorias progresen coordinadamente de manera que las trayectorias más cortas disminuyan su velocidad y se adapten a las más largas, de E i E G2 f i 144 IEEE LATIN AMERICA TRANSACTIONS, VOL. 2, NO. 2, JUNE 2004 forma que para un instante de tiempo k, el conjunto k k s f i /i 1...M se corresponda con una configuración deseada de la cámara en el espacio cartesiano 3-D. Así, la velocidad de progresión para cada característica dependerá de la longitud de la trayectoria en la imagen, de forma que el tiempo descrito por cada característica en pasar por los N puntos en la imagen sea el mismo. ^ ` B. Funciones de Peso G1 y G2 Como se puede observar en la Ecuación (2), el primer componente del flujo de movimiento reproduce el comportamiento de la trayectoria deseada, y, por lo tanto, G1 controla la velocidad de progresión de la trayectoria deseada en la imagen. El propósito del segundo término es disminuir el error de tracking. Cuando el error de seguimiento sea alto se hará que el valor de G1 sea bajo comparado con el de G2 de forma que se disminuya la velocidad de progresión de la trayectoria y se aumente el valor del segundo término de (2) con el propósito de disminuir rápidamente el error. Por el contrario, si el error es bajo se disminuirá el valor de G2 y se aumentará el de G1 con el propósito de aumentar la velocidad de progresión de la trayectoria. En concreto, para determinar los valores de estas funciones de peso se considera una familia de curvas, la forma de las cuales es variable dependiendo de los valores de los parámetros a y b como se muestra en la Figura 1. El parámetro G es una variable que representa un valor de error tal que si U §©¨ E f ·¹¸ ! G o G1 0 . Peso G2 a = 0,5 b = 4 por claridad, se omite el subíndice que indica qué característica está siendo considerada. La función de potencial debe alcanzar su valor mínimo cuando el error, E=f-fnd, sea cero, y debe aumentar conforme f se desvía más de su localización deseada fnd, (siendo f la característica extraída en la imagen y fnd la característica en fd(W) más cercana a f). Para definir la función de potencial se considera I la imagen deseada o imagen que se obtendría tras representar la trayectoria fd(W) obtenida en la Sección II (véase la Figura 2.a). La función de potencial hace uso de las operaciones morfológicas básicas de dilatación y erosión [9]. Dada una imagen I, y un elemento estructurante B, (ambas imágenes binarias con fondo blanco), la dilatación de I por B se define como aquellos puntos x tal que si se desplaza la imagen B hasta dicho punto, ésta intersecta con I en algún punto, G B (I ) {x | B + x I z 0} . De la misma manera, la erosión está formada por el conjunto de puntos x tal que si se desplaza la imagen reflexión de B respecto al origen hasta dicho punto, ésta resulta contenida completamente por I, H B (I ) {x | - B + x I} . El primer paso para determinar la función de potencial es calcular el gradiente de I. Para ello se utiliza la siguiente combinación de operaciones de morfología matemática: Ig (5) donde Ig es la imagen gradiente obtenida (se emplea un elemento estructurante cuadrado de tamaño 3x3). El siguiente paso para determinar la función de potencial consiste en generar un mapa de distancias Id. El valor de Id en un píxel x es la distancia Euclídea de x al complemento de Ig [10]: Id a=2b=4 \ B I GB I H B I < B Ig ¦H I i,B g i (6) a=4b=4 El algoritmo básico para la determinación del mapa de distancias es el que se muestra a continuación (0 es una imagen con todos sus píxeles a 0): a = 2 b = 0,5 U(E)/G Fig. 1. Evolución de G2 ante distintos valores de a y b. De esta manera, si se desea realizar un seguimiento estricto de la trayectoria asegurando un valor mínimo del error pueden utilizarse los parámetros a=0,5 y b=4. Con esto se consigue que el sistema rápidamente aumente el peso correspondiente para eliminar el error de seguimiento. Por el contrario, si se desea flexibilizar el seguimiento de forma que la velocidad de progresión sea alta y sólo se disminuya cuando el error sea suficientemente alto, pueden utilizarse los parámetros a=2 y b=0,5. Los parámetros que se han empleado en los resultados presentados en este artículo han sido a=2, b=4 y G = 10. C. Función de Potencial Esta sección describe la función de potencial empleada por el flujo de movimiento para una característica. Por lo tanto, Id = E = I; mientras E sea distinto de 0 hacer E = H B ( E) ; Id = Id +E fin mientras El mapa de distancias Id es una imagen que almacena en cada píxel información relativa a su menor distancia hasta fd(W). En la Figura 2.b se muestra el mapa de distancias para la trayectoria de la Figura 2.a. A partir de esta última figura es posible generar una representación tridimensional del mapa de distancias (Figura 2.c) que muestra cómo se distribuye la función de potencial U. En esta última figura la coordenada z representa la distancia de cada píxel hasta el más cercano en la trayectoria deseada. A partir de la representación del mapa de distancias de la Figura 2.c se determinan las líneas equipotenciales mostradas en la Figura 2.d que muestran la distribución de la función de potencial, U, obtenida. POMARES AND TORRES : MOVEMENT FLOW-BASED VISUAL SERVOING a) b) Eje z (pix) c) 145 oclusiones es la disponibilidad de información previa acerca de la trayectoria deseada, es decir, el propio flujo de movimiento. En efecto, esta información se almacena en el modelo matemático del movimiento de la característica en el espacio imagen, lo que permite integrar el movimiento deseado impuesto por el flujo de movimiento en la predicción de la nueva posición de la característica y, por lo tanto, inferir la trayectoria descrita en la imagen durante la oclusión. En el siguiente apartado se estudia el comportamiento del sistema ante oclusiones dependiendo de su duración y de las propiedades de la trayectoria seguida. Los detalles del filtro de Kalman utilizado se describen en nuestros trabajos anteriores [11]. En este filtro se emplean las variables aleatorias v y w que representan el ruido del estado y de medida respectivamente (se suponen constantes durante todo el proceso). Se supone asimismo que son independientes, con ruido blanco y distribuidos normalmente según p v ~ N 0, Q y p w ~ N 0, R . La varianza del error de medida, V R2 , ha sido estimada a partir de medidas efectuadas aplicando una acción de control nula al robot, determinando una desviación de alrededor de un píxel. La varianza de la variable de estado, V Q2 , se ha estimado empíricamente para Eje x (pix) Eje y (pix) obtener un resultado satisfactorio (se ha fijado en 0,1). V. RESULTADOS Eje y (pix) d) Eje x (pix) Fig. 2. a) Trayectoria deseada en la imagen fd(W) para una característica. b) Mapa de distancias. c) Representación tridimensional del mapa de distancias. d) Líneas equipotenciales. Aunque llegados a este punto se ha descrito el cálculo del flujo de movimiento para toda la imagen, para su implementación práctica es suficiente con generar el flujo de movimiento únicamente para cada píxel que realmente vaya a recorrer cada característica en la imagen. Por lo tanto, en cada iteración el sistema únicamente determina el flujo de movimiento para 4 píxeles correspondientes con la posición en la imagen de las 4 características extraídas por el sistema visual (se obtiene un retardo medio de sólo 1,349 ms por iteración). En este apartado se van a describir las distintas pruebas realizadas que muestran el correcto funcionamiento del sistema. Para ello en primer lugar se va a detallar la arquitectura del sistema sobre el que se han desarrollado los experimentos. A. Arquitectura del sistema En la Figura 3, se muestra la arquitectura del sistema que está compuesta por los siguientes componentes: x Sistema de visión: La captura de imágenes desde el extremo del robot se lleva a cabo con una minicámara JAI-M536. Se emplea MATROX GENESIS como tarjeta de adquisición y procesamiento de imágenes. x Sistema manipulador: Se compone de un robot Mitsubishi PA-10 con 7 grados de libertad. x Objetivo: El objeto seguido se trata de un patrón cuadrado con cuatro marcas que serán las características que se extraerán durante el seguimiento. IV. COMPORTAMIENTO DEL SISTEMA ANTE OCLUSIONES Para determinar la localización de las características en la imagen durante la oclusión se hace uso de un filtro de Kalman considerando el vector de estado compuesto por la posición de la característica y su velocidad obtenida a partir del flujo de movimiento. De hecho, el aspecto que va a posibilitar la realización del seguimiento de trayectorias a pesar de existir Fig. 3. Arquitectura del sistema. 146 IEEE LATIN AMERICA TRANSACTIONS, VOL. 2, NO. 2, JUNE 2004 B. Seguimiento de trayectorias En las Figuras 5 y 6 se muestra el resultado de aplicar una estrategia de control visual basado en flujo de movimiento para el seguimiento de una trayectoria. Aplicando los conceptos descritos en la Sección III, se determina el campo de vectores correspondiente al flujo de movimiento para cada una de las cuatro características extraídas de la imagen. Como ejemplo del flujo de movimiento, en la Figura 4 se muestra el obtenido para la segunda característica, f2. z (m.) Trayectoria deseada 3-D Trayectoria real 3-D x (m.) y (m.) Fig. 6. Trayectorias deseada y real obtenidas en el espacio 3-D. Fig. 4. Detalle del flujo de movimiento obtenido para la característica f2. Una vez determinados los flujos de movimiento, tras aplicar el sistema de control visual propuesto se obtiene la trayectoria de las características en la imagen mostrada en la Figura 5, en la que se observa que el sistema es capaz de realizar un correcto seguimiento en el espacio imagen. Eje y (pix) C. Comparación frente a sistemas dependientes del tiempo Los sistemas que hacen uso de control visual para el seguimiento de trayectorias utilizados hasta la actualidad [5] emplean una referencia variable con el tiempo. Estos sistemas intentan en todo momento mantener las restricciones temporales no garantizando el correcto seguimiento de la trayectoria. Este problema se solventa empleando control visual basado en flujo de movimiento, no viéndose el sistema afectado ante restricciones temporales. Para ilustrar lo afirmado en el párrafo anterior, se va a realizar un nuevo experimento en el que el robot ha de interaccionar con el entorno y, por lo tanto, la trayectoria puede verse obstruida durante un determinado intervalo de tiempo. En esta situación un sistema de seguimiento de trayectorias dependiente del tiempo basado en control visual tendría un comportamiento como el mostrado en la Figura 7. Las referencias temporales se hacen excesivamente restrictivas, con lo que el sistema tiende a intentar mantener estas restricciones temporales a pesar de no conseguir realizar el seguimiento de la trayectoria deseada. Sin embargo, al emplear un sistema de control visual basado en flujo de movimiento (véase la Figura 8), una vez finalizada la oclusión el sistema continúa con el seguimiento correctamente, no viéndose afectado ante restricciones temporales. z (mm.) Eje x (pix) Trayectoria deseada Trayectoria real Fig. 5. Comparación entre la trayectoria real obtenida y el muestreo de la trayectoria deseada en el espacio imagen. Para confirmar el correcto comportamiento del sistema, en la Figura 6 se muestra la trayectoria 3-D de la cámara durante el seguimiento junto con la trayectoria deseada. De nuevo se comprueba que el sistema realiza un correcto seguimiento también en el espacio Cartesiano 3-D. x (mm.) y (mm.) Fig. 7. Trayectoria 3D descrita empleando un sistema de control visual dependiente del tiempo. POMARES AND TORRES : MOVEMENT FLOW-BASED VISUAL SERVOING z (mm.) y (mm.) x (mm.) Fig. 8. Trayectoria 3D descrita empleando un sistema de control visual basado en flujo de movimiento. D. Seguimiento ante oclusiones El siguiente paso consiste en la evaluación del sistema ante oclusiones. Para ello, en la Figura 3 se puede apreciar que se ha dispuesto un obstáculo que impide la visión de la cámara durante un fragmento de la trayectoria deseada, de forma que en este periodo se empleará un filtro de Kalman que hace uso únicamente de la información procedente del flujo de movimiento para estimar la localización de las características en la imagen según se describe en el Apartado IV. En la Figura 9 se muestra la evolución del extremo del robot, la trayectoria deseada así como el inicio y fin de la oclusión para el seguimiento de dos trayectorias distintas. 147 En la Figura 10 se muestra el seguimiento correspondiente en el espacio imagen. Mientras que en la Figura 10.a se representa un muestreo de las predicciones obtenidas durante la oclusión, en la Figura 10.b se indica la trayectoria predicha durante este mismo periodo. En la primera oclusión (Figuras 9.a y 10.a) la duración de la oclusión es de 13 segundos, mientras que la de la trayectoria completa es de 29 segundos. Se puede observar que el sistema durante la oclusión presenta un correcto comportamiento tanto en la imagen como en el espacio 3-D haciendo uso únicamente de la información almacenada en el flujo de movimiento. En la segunda oclusión (Figuras 9.b y 10.b) se muestra un nuevo experimento de seguimiento ante oclusiones en el que el robot sigue una trayectoria más compleja durante el transcurso de la oclusión, la cual tiene lugar durante 11 segundos de los 19 que se invierten en describir la trayectoria completa. Se observa que el sistema durante la oclusión es capaz de realizar un seguimiento en el espacio 3-D que se aproxima al deseado, presentando ciertos errores que se aprecian en mayor medida en los puntos en los que se producen cambios bruscos de la trayectoria. inicio Eje y (pix) Trayectoria real Trayectoria deseada fin a) Trayectoria real inicio fin z (mm.) Trayectoria deseada Eje x (pix) a) Eje y (pix) fin inicio y (mm.) x (mm.) z (mm.) Trayectoria deseada inicio b) Trayectoria real Trayectoria real Trayectoria deseada Predicciones en oclusión b) Eje x (pix) y (mm.) Fig. 10 Trayectorias en el espacio imagen ante oclusión. fin x (mm.) Fig. 9 Trayectorias en el espacio 3-D ante oclusión. De los resultados experimentales desarrollados se puede concluir que el sistema presenta un correcto comportamiento ante oclusiones temporales de corta duración. Sin embargo, si ésta persiste durante un tiempo prologando la trayectoria obtenida (tanto en la imagen como en el espacio 3-D) puede divergir de la deseada, efecto que se observa con mayor 148 IEEE LATIN AMERICA TRANSACTIONS, VOL. 2, NO. 2, JUNE 2004 claridad en los cambios bruscos de la trayectoria. Esto es debido a que la ausencia de medida en el filtro de Kalman puede provocar errores en la estimación de posición de las características durante la oclusión. En cualquier caso, según se ha constatado con las pruebas realizadas, el sistema presenta un comportamiento más que aceptable ante oclusiones permitiendo continuar con el seguimiento, salvando temporalmente un problema inherente a los sistemas de visión artificial como son las oclusiones. VI. CONCLUSIONES Un aspecto que caracteriza a los sistemas de control visual clásicos basados en imagen es la no posibilidad de especificar la trayectoria que describirá el robot desde la localización inicial a la final en el espacio 3-D. La aproximación descrita en este artículo permite realizar el seguimiento de las trayectorias en la imagen obteniendo asimismo un correcto comportamiento en el espacio Cartesiano 3-D. Los sistemas de control visual aplicados hasta la actualidad para el seguimiento de trayectorias se caracterizan por el hecho de que la referencia del sistema de control es una función variable con el tiempo. Esto provoca que no se pueda asegurar un correcto seguimiento de la trayectoria deseada debido a la necesidad de mantener las restricciones temporales. La técnica de control visual basada en flujo de movimiento, propuesta en este artículo, permite llevar a cabo este seguimiento correctamente evitando las limitaciones de los sistemas anteriores. En este artículo se ha descrito cómo puede utilizarse una estrategia de control visual basado en flujo de movimiento para el seguimiento de trayectorias ante oclusiones temporales. Esta aportación presenta una gran importancia práctica ya que permite continuar un seguimiento ante deficiencias u oclusiones en el sistema de visión artificial. Esto, aplicado a entornos no estructurados o sometidos a posibles oclusiones, permite salvar momentáneamente estos obstáculos para, una vez transcurrida la oclusión, poder continuar con el seguimiento. VII. REFERENCIAS [1] [2] [3] [4] [5] [6] [7] P. I. Corke, “Visual control of robot manipulators – a review”. In Visual servoing, K. Hashimoto, Ed. Singapore: World Scientific, 1994, pp. 132. S. Hutchinson, G. D. Hager, and P. I. Corke, “A tutorial on visual servo control”. IEEE Trans. Robot. Automat., vol. 12, no. 5, pp. 651-670, Oct. 1996. E. Malis. “Visual Servoing Invariant to Changes in Camera-Intrinsic Parameters”. IEEE Trans. Robot. Automat., vol. 20, no. 1, pp.72-81, Feb. 2004. F. Chaumette, “Potential problems of stability and convergence in image-based and position-based visual servoing”, in The Confluence of Vision and Control, D. Kriegman, G . Hager, A. Morse, Eds., vol. 237, LNCIS Series, pp. 66-78. Springer Verlag, 1998. Y. Mezouar and F. Chaumette. “Optimal Camera Trajectory with ImageBased Control”, Int. Journal of Robotics Research, vol. 22, no. 10-11, pp. 781-804, Oct. 2003. P. Y. Li and R. Horowitz. “Passive Velocity Field Control Approach to Robot Contour Following”, In Proc. of the 1996 Japan USA Symposium on Flexible Automation, 1996, vol. 1, pp. 25-32. P. Y. Li and R. Horowitz. “Passive Velocity Field Control (PVFC): Part II – Application to Contour Following”. IEEE Trans. Automat. Contr., vol. 46, no 9. pp. 1360-1371, Sept. 2001. [8] I. Cervantes, R. Kelly, J. Alvarez-Ramírez and J. Moreno. “A Robust Velocity Field Control”. IEEE Trans. on Control Systems Technology, vol. 10, no 6. pp. 888-894, Nov. 2002. [9] J. Serra, “Image Analysis and Mathematical Morphology”, New York: Academic Press, 1981. [10] R. Lotufo and F. Zampirolli, “Fast multidimensional parallel euclidean distance transform based on mathematical morphology”, in Proc. of SIBGRAPI 2001, XIV Brazilian Symposium on Computer Graphics and Image Processing, T. Wu and D. Borges, Eds., pp. 100-105. IEEE Computer Society, 2001. [11] J. Pomares, F. Torres, and P. Gil “2-D Visual servoing with integration of multiple predictions of movement based on Kalman filter”, presented at the 15th IFAC World Congress on Automatic Control, Barcelona, Spain, 2002. VIII. BIOGRAFÍAS Jorge Pomares obtuvo el título de Ingeniero en Informática y el grado de Doctor en la Universidad de Alicante, España, en 1999 y 2004 respectivamente. Es profesor en el Departamento de Física, Ingeniería de Sistemas y Teoría de la Señal de la Universidad de Alicante desde 2000 e imparte docencia en robótica y control automático. Es miembro del Grupo de Automática, Robótica y Visión artificial del mismo Departamento, desde 1999, donde ha formado parte de distintos proyectos de investigación en colaboración con la industria y el gobierno español. Sus principales líneas de investigación son control visual, robótica y visión artificial. Prof. Pomares es miembro del CEA-IFAC. Fernando Torres (M’03) obtuvo el título de ingeniero industrial y el grado de Doctor en la Universidad Politécnica de Madrid (UPM) en 1991 y 1995 respectivamente. Desde 1994 se encuentra en la Universidad de Alicante impartiendo docencia en control automático, robótica y visión artificial. Sus principales líneas de investigación incluyen inspección visual automática, robótica, automatización, control visual, procesamiento de imágenes mediante morfología matemática y nuevas tecnologías aplicadas a la enseñanza. Prof. Torres es miembro del CEA-IFAC, IEEE y la Sociedad Española de Análisis de Imágenes y Reconocimiento de Patrones.