26
A tutorial on Visual Servo Control Seth Hutchinston Departemen of Electrical and Computer Engineering University of Illinois at Urbana-Champaign Greg Hager Department of Computer Science Yale University Peter Corke CSIRO Division of Manufacturing Technology Zelmar Echegoyen UPV - 2005

A tutorial on Visual Servo Control

Embed Size (px)

DESCRIPTION

UPV - 2005. A tutorial on Visual Servo Control. Seth Hutchinston Departemen of Electrical and Computer Engineering University of Illinois at Urbana-Champaign Greg Hager Department of Computer Science Yale University Peter Corke CSIRO Division of Manufacturing Technology. Zelmar Echegoyen. - PowerPoint PPT Presentation

Citation preview

Page 1: A tutorial on Visual Servo Control

A tutorial on Visual Servo Control

Seth HutchinstonDepartemen of Electrical and Computer Engineering

University of Illinois at Urbana-Champaign

Greg HagerDepartment of Computer Science

Yale University

Peter CorkeCSIRO Division of Manufacturing Technology

Zelmar Echegoyen

UPV - 2005

Page 2: A tutorial on Visual Servo Control

Introducción

• Utilización de la información visual para el control de robots.

• Permite el posicionamiento de un órgano terminal de un robot en un ambiente no estructurado.

• Es la fusión de los resultados de muchas áreas elementales:

Procesamiento de imágenes a gran velocidad

Cinemática

Dinámica

Teoría de control

Computación en tiempo real

Visual Servoing

Page 3: A tutorial on Visual Servo Control

Agenda

• Introducción• Configuración de cámaras• Arquitecturas Servo

Dinamic Look and move systems

Direct visual servo systems

Dinamic Look and move vs. direct visual servo systems• Control basado en la posición• Control basado en la imagen• Control basado en la imagen vs. control basado en la posición• Extracción de características• Futuro

Page 4: A tutorial on Visual Servo Control

Configuración cámara-robot

• eXc - relación entre el sistema de coordenadas de la cámara y el del efector final -> Calibración inicial de la cámara.

• Xe – posición del efector final respecto al sistema de coordenadas base.

• cXt – relación entre el sistema de coordenadas del objeto y el de la cámara.

• Xt – posición del objeto respecto al sistema de coordenadas base.

Cámara-en-mano - tiene la cámara montada sobre el efector final del robot

Proporciona información sobre el área de trabajo

Page 5: A tutorial on Visual Servo Control

Configuración cámara-robot

• cXt – relación entre el sistema de coordenadas del objeto y la cámara.

• Xc – relación entre la cámara y el sistema de coordenadas base del robot -> Calibración inicial de la cámara.

• Xt – posición del objeto respecto al sistema de coordenadas base.

• Xe – posición del efector final respecto al sistema de coordenadas base.

Cámara fija - la cámara está fija en el área de trabajo

Capta el robot y su espacio de trabajo

Page 6: A tutorial on Visual Servo Control

Configuración cámara-robotCombinaciones

Page 7: A tutorial on Visual Servo Control

o Utiliza lazos internos de control articular con una alta velocidad de muestreo que permite estabilizar el robot.

o Utilización de la retroalimentación para estabilizar internamente al robot.

Dos tipos:

- Estático (imagen inicial).

- Dinámico (captura imágenes permanentemente).

Arquitecturas ServoMirar y mover

Page 8: A tutorial on Visual Servo Control

Estático

•La extracción de la información de la imagen y el control del robot son dos tareas secuenciales.

•El robot ejecuta la tarea suponiendo que el entorno de trabajo no se ha modificado.

Arquitecturas ServoMirar y mover

Page 9: A tutorial on Visual Servo Control

Arquitecturas Servo

Dinámico

•Bucle interno de control de los servomotores a una frecuencia elevada•Actualización de los datos del sistema de visión a una frecuencia menor.

El robot puede encontrarse aún en movimiento mientras la siguiente imagen está siendo capturada

En esta categoría se basan la mayoría de las implementaciones en el campo del control visual.

Mirar y mover

Page 10: A tutorial on Visual Servo Control

Sistemas de servo control visual directo

Eliminan el controlador del robot, reemplazándolo con un controlador servo visual, que sólo utiliza la visión para

estabilizar el mecanismo

•Desaparición del lazo de control interno del robot.•Procesamiento de la imagen a una frecuencia muy elevada.

Arquitecturas Servo

Page 11: A tutorial on Visual Servo Control

Predominio de sistemas mirar y mover sobre los de servo control directo

• La lentitud en la velocidad de muestreo disponible para la visión y

la utilización de dinámicas complejas y no lineales, por parte de los sistemas de servo control directo, resultaban en un dificultoso problema de control.

• Los métodos de control mirar-y-mover separan las particularidades cinemáticas del mecanismo del control visual, mientras que para el servo control directo existe un fuerte acoplamiento dinámico.

• Los lazos internos de control articular con una alta velocidad de muestreo presenta una buena dinámica.

• Muchos controladores tienen mecanismos especializados en relacionarse con singularidad cinemáticas, por lo que se simplifica el diseño del sistema.

Page 12: A tutorial on Visual Servo Control

Clasificación

Posición (3D) (Position-based visual servo systems)

• Utiliza como realimentación la posición actual del efector final.• Controla la trayectoria de la cámara en el espacio cartesiano.

Características de la imagen (2D) (Image-based visual servo systems)

• Utiliza como realimentación las características de la imagen.• Se especifica en términos de cómo se quiere ver el objeto.• Más robusto ante calibraciones deficientes.

Según el modo en que son utilizadas las características de interés extraídas de la imagen

Page 13: A tutorial on Visual Servo Control

• Las características son extraídas de la imagen y utilizadas en conjunción con un modelo geométrico del elemento objetivo y el modelo conocido de la cámara para estimar la posición del objeto respecto a la cámara.

Mirar y mover dinámico con control basado en la posición

Control basado en la posición (3D)

Page 14: A tutorial on Visual Servo Control

Obtención del error cinemáticoObtienen la diferencia entre la posición deseada y la posición actual

Función de error cinemático E: T -> Rm

El regulador produce en cada instante la velocidad esperada del efector final, u R6, que es enviada al subsistema de control del robot.

C: Rm R6

Obtención de la velocidad de robot

Control basado en la posición (3D)Posicionamiento

Page 15: A tutorial on Visual Servo Control

Primer caso: Cámara fija en el espacio de trabajo

eP -> Punto sobre el efector final

S -> Punto estacionario en el espacio

Posicionamiento punto a punto

Se quiere hacer coincidir un punto del efector final del robot con un punto estacionario del espacio de trabajo de éste

Epp(Xe; S, eP) = Xe o eP – S

Obteniendo cS´ a partir de la imagen: S´ = X`c o cS´

Ya que Epp es lineal en ausencia de perturbaciones:

U3 = -kEpp(X´e; X´c o cS´, eP) = -k(Xe o eP – X´c o cS´)

Se llega a la situación de equilibrio en que el valor estimado del error es 0.

Control basado en la posición (3D)

Page 16: A tutorial on Visual Servo Control

•X´e -> Cinemática del robot

•X´c -> Calibración de la cámara

•cS´ -> Reconstrucción visual

eEpp(Xe; S, eP) = eP - eXo o S

S´ = X`e o eX´c o cS´

Ya que Epp es lineal, en ausencia de perturbaciones:

U3 = -keEpp(X´e; X´e o eX´c o cS´, eP) = -k(eP – eX´c o cS´)

Se llega a la situación de equilibrio en que el valor estimado del error es 0.

Control basado en la posición (3D)Segundo caso: Cámara montada sobre el robot

Page 17: A tutorial on Visual Servo Control

Control basado en la posición (3D)

Al utilizar un lazo cerrado de retroalimentación, suponemos que se puede observar eX´c.

eU3 = -keEpp (X´e; X´c o cS´, eX´c o cP´) = -keX´c o (cP´ - cS´)

Si cP´ = cS´ -> u3 = 0 la función de error es independiente de los errores en la cinemática del robot o en la calibración de la cámara.

Importante para los sistemas donde la precisión de la relación cámara/efector final es difícil o imposible de determinar offline.

Page 18: A tutorial on Visual Servo Control

• Los valores de control son computados, directamente, utilizando las características de la imagen.

• Puede reducir el retardo computacional, eliminando la necesidad de interpretación de la imagen.

Mirar y mover dinámico con control basado en la imagen

Control basado en la imagen (2D)

Page 19: A tutorial on Visual Servo Control

Ejemplo de tarea servo visual con dos cámaras

Llevar un punto P (del manipulador) a un punto estacionario S, viendo la escena a través de dos cámaras.

C.N. y S. para que P y S coincidan en el espacio, es que sus proyecciones coincidan en cada imagen.

Sean:

[uPl, vPl]T y [uPr, vPr]T las coordenadas de las proyecciones de P en la imágenes izquierda y derecha, respectivamente f = [uPl, vPl, uPr, vPr]T.

[uPl, vPl]T y [uPr, vPr]T proyección de P en la imágenes izquierda y derecha, respectivamente Vector de características deseadas: fd = [uSl, vSl, uSr, vSr]T.

epp(f) = f-fd

Control basado en la imagen (2D)

Page 20: A tutorial on Visual Servo Control

Control basado en la imagen (2D)

Jacobeano de la imagen

Sean:

• r coordenadas del efector final

• f vector de parámetros de características de la imagen

¿Cómo cambian los parámetros de las características de la imagen respecto a los cambios en la

posición/orientación del manipulador?

, donde Jv R kxm Matriz de sensibilidad de características

Jv es una transformación lineal.

Page 21: A tutorial on Visual Servo Control

Objetivo determinar la velocidad del manipulador ( ) requerida para lograr algún valor deseado de .

Si k = m

Si Jv es no singular, Jv-1

Si k ≠ m

Jv-1 Asumiendo que es de rango completo: rango(Jv) = min(k,m)

Calculamos la solución por mínimos cuadrados que minimiza la norma

Control basado en la imagen (2D)

Siendo Jv+ una apropiada pseudoinversa para Jv y b un vector

apropiadao de dimensión apropiada.

Page 22: A tutorial on Visual Servo Control

Control basado en la imagen (2D) Si k > m hay más parámetros de características que grados de libertad

Si en algún vecindario de r, m ≤ k y el rango(Jv) = m expresamos la coordenadas fm+1..fk como combinaciones de f1..fm (k-m características visuales redundantes).

En este caso la pseudoinversa apropiada es:

Siendo , con lo cual la solución puede ser reescrita como:

Si k < m hay menos parámetros de características que grados de libertad

No estamos observando suficientes características como para determinar de manera única el movimiento.

En esta caso la pseudinversa apropiada es:

En general para k< m, , por lo que la solución viene dad por:

Page 23: A tutorial on Visual Servo Control

Control basado en la imagen

• Menor tiempo de cómputo.• Elimina los errores del modelo

geométrico.• Robustez respecto a los errores de

calibración de la cámara y del robot.• También es robusto ante los errores de

medición de la imagen.• Puede ser inestable si la posición inicial

de la cámara está muy lejos de la posición deseada.

• Es necesaria una buena estimación o aproximación del modelo del objeto.

• Mínimos locales o singularidades del jacobeano de la imagen pueden provocar inestabilidad.

Control basado en la posición

• Necesita información a priori (calibración); inapropiado para ambientes no estructurados.

• Puede ser inestable si la posición inicial de la cámara está muy lejos de la posición deseada.

• Directamente controla la trayectoria de la cámara en el espacio cartesiano.

• Es necesario un conocimiento del modelo del objeto

Control basado en la imagen vs. control basado en la posición

Page 24: A tutorial on Visual Servo Control

Extracción de características de la imagen

• Relativamente sencillo en espacios estructurados:Utilizando un color específico para el objeto en cuestión.

Utilizando objetos artificiales.

Detección del movimiento para localizar un objeto móvil.

Utilización de filtros.

• Más complejo en espacios no estructuradosBasados en cambios de contrastes, referidos a líneas o esquinas

Procesar toda la imagen requiere de hardware altamente veloz, si se quiere

tener una secuencia de imágenes a una velocidad aceptable.

No todos los pixels son de interés Técnicas de seguimiento window-based

Page 25: A tutorial on Visual Servo Control

Extracción de características de la imagen

Seguimiento Window-based

Dos pasos:

• Una o más ventanas son obtenidas, utilizando un conjunto de parámetros de ventana.

• La ventana es procesada para obtener sus característicasCon las nuevas características se obtiene un nuevo conjunto de valores para los parámetros de ventana, que pueden ser modificados utilizando restricciones

geométricasexternas o predicciones temporales y ciclos repetitivos.

Ventajas:Simplicidad computacionalPocos requerimientos de hardware especialFácil configuración para distintas aplicaciones

Page 26: A tutorial on Visual Servo Control

Futuro

• Prometedor, debido a que el costo de cámaras y sistemas de procesamiento de imágenes continua bajando, mientras la velocidad y calidad de procesamiento aumenta.

• La TV digital puede permitir que se modifiquen los estándares de transmisión, con lo cual una mayor resolución puede resultar en la utilización de visual servoing con una gran resolución.

• Sin embargo, la gran limitación que tienen estos sistemas es que no posee todavía la suficiente robustez para la interpretación de escenas.