270 likes | 457 Views
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.
E N D
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
Introducción Visual Servoing • 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
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
Configuración cámara-robot Cámara-en-mano - tiene la cámara montada sobre el efector final del robot Proporciona información sobre el área de trabajo • 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.
Configuración cámara-robot Cámara fija - la cámara está fija en el área de trabajo Capta el robot y su espacio de trabajo • 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.
Configuración cámara-robot Combinaciones
Arquitecturas Servo Mirar y mover • Utiliza lazos internos de control articular con una alta velocidad de muestreo que permite estabilizar el robot. • Utilización de la retroalimentación para estabilizar internamente al robot. Dos tipos: - Estático (imagen inicial). - Dinámico (captura imágenes permanentemente).
Arquitecturas Servo Mirar y mover 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 Servo Mirar y mover Dinámico El robot puede encontrarse aún en movimiento mientras la siguiente imagen está siendo capturada • 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. En esta categoría se basan la mayoría de las implementaciones en el campo del control visual.
Arquitecturas Servo 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.
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.
Clasificación Según el modo en que son utilizadas las características de interés extraídas de la imagen 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.
Control basado en la posición (3D) • 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) Obtención de la velocidad de robot 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 Posicionamiento Obtención del error cinemático Obtienen la diferencia entre la posición deseada y la posición actual Función de error cinemático E: T -> Rm
Control basado en la posición (3D) 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 Primer caso: Cámara fija en el espacio de trabajo eP -> Punto sobre el efector final S -> Punto estacionario en el espacio 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) Segundo caso: Cámara montada sobre el robot • 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) 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.
Control basado en la imagen (2D) • 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) 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
, donde Jv R kxm Matriz de sensibilidad de características Jv es una transformación lineal. Control basado en la imagen (2D) ¿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? Jacobeano de la imagen Sean: • r coordenadas del efector final • f vector de parámetros de características de la imagen
Control basado en la imagen (2D) Si Jv es no singular, Jv-1 Jv-1 Asumiendo que es de rango completo: rango(Jv) = min(k,m) Objetivo determinar la velocidad del manipulador ( ) requerida para lograr algún valor deseado de . Si k = m Si k ≠ m Calculamos la solución por mínimos cuadrados que minimiza la norma Siendo Jv+ una apropiada pseudoinversa para Jv y b un vector apropiadao de dimensión apropiada.
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:
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
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 estructurados Basados 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
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ísticas Con las nuevas características se obtiene un nuevo conjunto de valores para los parámetros de ventana, que pueden ser modificados utilizando restricciones geométricas externas o predicciones temporales y ciclos repetitivos. Ventajas: Simplicidad computacional Pocos requerimientos de hardware especial Fácil configuración para distintas aplicaciones
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.