Control Visual Basado en Flujo de Movimiento para el Seguimiento

Anuncio
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.
Descargar