visual servoing

Upload: israel-martin

Post on 10-Jan-2016

6 views

Category:

Documents


0 download

DESCRIPTION

excelente

TRANSCRIPT

  • VISUAL SERVOING, UNA NUEVA TENDENCIA DE CONTROL

    PRIMERA PARTE: ADQUISICIN Y PROCESAMIENTO DE IMGENES CON MATLAB

    IMT LUIS MANUEL GARCA MARTNEZ.

    DOCENTE DE LA ACADEMIA DE INGENIERA MECATRNICA

    [email protected]

    RESUMEN

    El presente trabajo tiene como finalidad presentar los elementos bsicos para formalizar un

    sistema de control de un robot manipulador o sistema mecatrnico, a partir de una tcnica derivada

    de la visin artificial denominada Visual Servoing. Los nuevos estndares de calidad a nivel

    internacional dentro de los procesos de manufactura, demandan la formulacin de nuevos

    esquemas de control que respondan a necesidades cada vez ms exigentes en precisin, rapidez

    y repetibilidad. Actualmente, la inteligencia artificial se muestra como una respuesta moderna y en

    pleno desarrollo para generar, en conjunto con los esquemas de control clsicos, procesos y

    procedimientos an ms precisos.

    PALABRAS CLAVE

    Procesamiento de Imgenes, Robtica, Visin artificial, Control, MATLAB.

    INTRODUCCIN

    Las operaciones automatizadas realizadas por robots manipuladores dentro de una lnea de

    produccin, requieren de un nivel cada vez ms alto de precisin, exactitud y desempeo. Es por

    lo anterior, que el diseo de nuevos sistemas de control lleva implcita la aplicacin de retos

    tericos que solucionen esencialmente los problemas de origen prctico, los cuales, no pueden

    ser corregidos por medio de algoritmos habituales.

    El problema general del control en coordenadas articulares de robots manipuladores, es el anlisis

    de trayectoria o de movimiento. ste consiste en determinar los pares aplicados a los

    servomotores que integran las articulaciones, de tal forma que las posiciones asociadas a las

    coordenadas del robot sigan con exactitud la posicin deseada. De este modo, el objetivo de

    control se resume a posicionar el extremo final del robot en un punto deseado y hacer que ste

    permanezca ah por un periodo de tiempo indefinido.

  • En la prctica, una estrategia de control se lleva a la etapa de evaluacin experimental o de

    simulacin, a travs de reglas gramaticales o sintaxis de un lenguaje de programacin, como

    puede ser: C, C++, Java, o MATLAB, donde el algoritmo de control es la implementacin de un

    modelo matemtico representativo de la ley de control dentro de dicho lenguaje.

    (Reyes Corts, 2011.)

    CONTROL POR VISIN

    Un sistema de visin artificial, que imita la accin del ojo humano, se compone principalmente de

    una cmara de video, dispositivos electrnicos, y programacin para poder interpretar la

    informacin visual en un monitor. Estos sistemas permiten medir, sin interaccin humana, la

    posicin y orientacin del propio robot, as como de cualquier objeto dentro del espacio de trabajo.

    Al control de robots manipuladores mediante informacin visual proporcionada por una cmara,

    en un esquema de control retroalimentado, se le denomina control por visin o Visual Servoing. El

    cual puede ser empleado por el sistema de control, tanto para la planificacin de trayectorias, como

    para el control de retroalimentacin.

    El control por visin es el resultado de fusionar varias disciplinas, como son: la visin artificial, la

    teora de control, la computacin y por supuesto, la robtica. Su objetivo es incorporar dentro del

    lazo de control la informacin visual obtenida a partir del sistema de visin, para crear una variable

    de error definida por el conjunto de caractersticas propias de las imgenes, tales como: el color,

    el contorno, la posicin y la forma.

    La informacin proporcionada por un sistema de visin, que puede incluir una o ms cmaras en

    diferentes configuraciones, retroalimenta al algoritmo de control para que ste gue la posicin del

    robot y su efector final hacia una entidad, denominada objetivo. As, una de las ventajas de Visual

    Servoing, es la capacidad que le confiere al robot no solo de observar, sino de interactuar e incluso

    manipular los objetos de su entorno. La arquitectura ms simple se basa en el objetivo esttico y

    la generacin de la trayectoria hacia un punto especfico de su imagen.

    Visual Servoing utiliza algunos algoritmos para la extraccin de informacin numrica relacionada

    con la identificacin de parmetros en las imgenes. Dichos parmetros se usan para estimar la

    posicin de la cmara con respecto a los objetos y la posicin de los objetos respecto a la cmara,

    mediante la integracin de mapeos lineales entre la velocidad de la cmara y el espacio

  • operacional. Los mtodos analticos de estimacin de posicin se basan en la medicin de un

    determinado nmero de puntos, denominados propiamente correspondencias, dentro del

    elemento o elementos, que aparecen en la escena.

    Considere por ejemplo, un robot manipulador equipado con una cmara, que tiene que tomar un

    objeto utilizando un dispositivo de agarre. A travs de la visin, el robot puede adquirir informacin

    capaz de identificar la relacin del objeto con respecto a la pinza. Esta informacin permite al

    sistema de control planificar una trayectoria que lleva el manipulador en una configuracin de

    agarre apropiada, calculada sobre la base de la estructura y la forma del objeto.

    La planificacin de trayectorias en un robot manipulador mediante Visual Servoing, se puede

    realizar usando un solo controlador de movimiento que utilice los registros visuales como un bucle

    abierto para insertar la posicin deseada en el esquema de control del robot, dicha configuracin

    conocida como ver y mover, puede estar basada en la posicin o en las caractersticas de la

    imagen del objeto. Sin embargo, dicha configuracin tiene la desventaja de hacer al sistema muy

    sensible a incertidumbres, debidas principalmente, a la falta de precisin en el posicionamiento del

    manipulador, ya que el esquema de control no considera el hecho de que el objeto pueda cambiar

    de posicin mientras que la pinza consigue la posicin ms adecuada para tomarlo.

    Por otro lado, existe una configuracin alterna denominada servo visual en la cual, las mediciones

    efectuadas por la cmara sirven de retroalimentacin directa al sistema de control cartesiano del

    robot. Estas mediciones se usan para calcular el vector de error ms apropiado, definido por la

    posicin del objeto y la posicin del efector final, lo que permite realizar correcciones inmediatas

    en la trayectoria del robot para seguir al objetivo, an si este se encuentra en constante

    movimiento.

    Los esquemas de control basados en visin se pueden dividir en dos categoras, es decir, aquellos

    que realizan control visual en el espacio operativo, Visual Servoing basado en Posicin y aquellos

    que realizan control visual en la escena de la imagen tambin llamado, Visual Servoing basado

    en Imagen. La principal diferencia entre estas dos configuraciones es que la primera utiliza

    mediciones visuales para reconstruir la posicin relativa del objeto respecto al robot o viceversa,

    mientras que el segundo esquema est basado en la comparacin de las caractersticas de la

    imagen del objeto entre la posicin actual y la deseada. Aunque tambin hay esquemas que

  • comparten caractersticas comunes de ambas categoras, los cuales se denominan: Hybrid Visual

    Servoing.

    Resulta evidente que una caracterstica clave del control visual, en comparacin con el control de

    fuerza y el control de movimiento, es el hecho de que las variables controladas no se miden

    directamente por un sensor. En este esquema de control, las variables se adquieren a partir de las

    magnitudes obtenidas mediante clculos complejos, los cuales se basan en algoritmos de

    procesamiento de imgenes y sistemas computacionales de visin. Otros aspectos a tener en

    cuenta para el control basado en visin son: el tipo y las caractersticas de la cmara. Ya que sta

    puede ser monocromtica o a color, de baja o alta resolucin, de longitud focal fija o variable, as

    como, la tecnologa usada en la cmara que puede ser CCD o CMOS.

    PROCESAMIENTO DE IMGENES

    La primera fase de Visual Servoing es la adquisicin y el procesamiento de imgenes. Para

    entender mejor estos conceptos, considere el funcionamiento de una cmara monocromtica

    simple que cuente con una pantalla propia. Cuando esta cmara captura las imgenes,

    inmediatamente las procesa en tiempo real y las muestra como un cuadro en la pantalla;

    analizando propiamente la captura, se pueden observar los parmetros caractersticos de la

    imagen: el contorno y la forma. Dichos parmetros vienen dados por valores de intensidad

    luminosa variante dentro de la escala de grises, que dependen del objeto, del ambiente y de la

    resolucin de la cmara.

    Imagen 1. Captura de imagen en escala de grises.

    Ahora imagine que utiliza varias de estas cmaras para capturar el mismo objetivo desde

    diferentes puntos de vista. Adems de los parmetros mencionados anteriormente, es posible

    obtener algunas relaciones geomtricas entre la perspectiva de cada cmara, como pueden ser:

  • ngulos entre los focos o posiciones relativas entre los puntos de captura. Estas relaciones de

    posicin entre las cmaras, pueden ser utilizadas para definir algunos aspectos de orientacin y

    referencia del objetivo, como por ejemplo: si los parmetros hacen referencia a un contorno dentro

    de una escena de dos dimensiones o a un objeto dentro del espacio tridimensional.

    De este modo, se puede afirmar que el conjunto de parmetros y relaciones geomtricas

    concernientes a un objeto, son la base de las tcnicas de estimacin que ayudan a representar

    objetivos dentro del espacio de trabajo de un robot manipulador. En este sentido la parte ms

    importante para la obtencin de imgenes reside en la calibracin de la cmara, la cual es

    necesaria para el clculo de los parmetros intrnsecos que como puede verse, relacionan las

    cantidades medidas en el plano al que hacen referencia.

    Imagen 2. Captura de un objetivo utilizando tres cmaras a la vez.

    La informacin visual, a diferencia de la informacin proporcionada por otros tipos de sensores, es

    muy rica y variada por lo que requiere complejas transformaciones computacionales antes de que

    pueda ser utilizada para el control de un sistema robtico. El objetivo de estas transformaciones

    es la extraccin de la informacin numrica de la imagen, que proporciona una descripcin

    sinttica y robusta de los objetos de inters en la escena, a travs de los parmetros caractersticos

    de la imagen. Para este fin, se requieren dos operaciones bsicas; la primera, denominada

    segmentacin, que es la obtencin de una representacin adecuada para la identificacin de

    caractersticas medibles de la imagen; y la segunda, denominada interpretacin, la cual se refiere

    a la medicin de los parmetros de caractersticas de la imagen.

    La informacin de la fuente est contenida en una memoria de cuadros, que es la matriz de

    memoria bidimensional, la cual representa la muestra espacial de la imagen en el conjunto de

  • pxeles. La tambin denominada funcin de la imagen, se define como una funcin vectorial cuyos

    componentes representan los valores de una o ms cantidades fsicas relacionadas con el pxel,

    en una forma muestreada y cuantificada.

    Por ejemplo, en el caso de imgenes a color, la funcin de imagen definida sobre un pxel de

    coordenadas ( xi, yi ) tiene tres componentes: Ir ( xi, yi ), Ig ( xi, yi ) e Ib ( xi, yi ), correspondientes

    a la intensidad de la luz en las longitudes de onda del rojo, verde y azul.

    Para una imagen monocromtica, en blanco y negro, la funcin de imagen es escalar y coincide

    con la intensidad de la luz en tonos de gris I ( xi, yi ), tambin conocida como escala de grises.

    El nmero de niveles de gris depende de la resolucin de la escala adoptada, sin embargo, en

    todos los casos dicha escala se encuentra limitada en sus extremos por el blanco y el negro, que

    corresponden a los lmites mnimo y mximo en la escala de grises. Actualmente se adoptan

    sistemas que constan de una escala de 256 niveles de gris que pueden ser representados por un

    nico byte de memoria.

    Una representacin de la memoria de cuadros, que resulta particularmente til para el tratamiento

    posterior de la imagen, es el histograma de niveles de gris, que proporciona la frecuencia de

    aparicin de cada uno de los niveles de gris dentro de la imagen. Cuando los niveles de gris se

    cuantifican de 0 a 255, se obtiene un determinado nmero de cuadros que pertenecen al mismo

    tono de gris. De este modo, si el nmero de repeticiones de cada uno de los tonos de gris se divide

    entre el nmero total de pixeles se obtiene un histograma normalizado.

    Imagen 3. Histograma de los niveles de gris.

  • ALGORITMO DE PROCESAMIENTO DE IMGENES

    A continuacin, se presenta una aplicacin en MATLAB que obtiene los parmetros caractersticos

    de una imagen en tiempo real. Estos parmetros pueden ser usados, mediante una interfaz

    apropiada, como una retroalimentacin al sistema de control articular de un robot manipulador

    para posicionarlo en un punto especfico.

    La primera parte del cdigo, que se muestra en la imagen 4, se usa para realizar la adquisicin de

    datos en formato de video. Este conjunto de instrucciones otorgan argumentos sobre el tipo y

    modo de adquisicin de informacin. En este caso, el nombre de la cmara, el nmero de

    dispositivo, el formato, as como la velocidad de adquisicin en cuadros por disparo. Cabe

    mencionar que estos datos dependen exclusivamente de la cmara con la que se realiza la

    adquisicin, por lo que pueden variar de un dispositivo a otro.

    Imagen 4. Inicializacin y adquisicin de informacin visual.

    La segunda parte del cdigo despliega el procesamiento de la imagen (ver imagen 5) donde se

    observa que se debe realizar una conversin de formato, partiendo del original RGB a otro definido

    en escala de grises. Consecutivamente, se dan las instrucciones para mostrar en pantalla dicha

    imagen junto con su histograma, el cual permite identificar el nivel de cada uno de los tonos de

    gris que conforman la imagen.

    Posteriormente, se realiza la conversin de escala de grises a blanco y negro, a partir de un dato

    crtico, conocido como umbral. El dato de umbral, depende de las condiciones de luz que presenta

    la zona donde se ejecuta el cdigo, y su funcin es servir de parmetro para obtener una imagen

    binaria que pueda ser usada para constituir el contorno del objetivo deseado.

  • Imagen 5. Estructuras de cdigo utilizadas para procesar la imagen.

    En la imagen 6, se expresan las instrucciones necesarias para obtener el centroide del contorno,

    que por definicin es el punto hipottico donde se concentra toda la masa de una figura geomtrica.

    En este punto, es a donde debe dirigirse la herramienta del robot para poder manipular el objetivo

    fsico capturado en la imagen.

    Imagen 6. Obtencin del centroide de la figura.

  • En la ltima parte del algoritmo, mostrada en la imagen 7, se indica la asignacin a una variable

    de la imagen binaria invertida y su posterior despliegue en pantalla, as como la representacin

    del centroide dentro del contorno.

    Imagen 7. Cdigo para obtener y mostrar el centroide del contorno.

    RESULTADOS

    Los resultados de la adquisicin y procesamiento de imgenes en tiempo real, realizados a partir

    del algoritmo anterior, se pueden resumir como:

    1. Obtencin de la imagen en formato RGB

    2. Conversin de RGB a escala de grises.

    3. Obtencin del histograma que muestra las frecuencias en los tonos de gris.

    4. Conversin de escala de grises a imagen binaria, a partir del dato de umbral.

    5. Obtencin de la imagen invertida.

    6. Despliegue de la imagen invertida con su centroide.

    A continuacin se expone un ejemplo de aplicacin:

  • Se us como muestra una bebida embotellada que se coloc en una superficie de color uniforme.

    El algoritmo realiza el tratamiento descrito en la seccin anterior y muestra los siguientes

    resultados:

    Imagen 8. Procesamiento de imgenes con MATLAB.

    Imagen 9. Obtencin del centroide dentro del contorno que representa el lquido dentro de la botella.

  • Imagen 10. Tiempo de ejecucin y coordenadas del centroide.

    CONCLUSIONES

    1. La inteligencia artificial se muestra como una respuesta moderna y en pleno desarrollo para

    generar procesos y procedimientos an ms precisos en conjunto con los esquemas de control

    clsicos.

    2. Visual Servoing utiliza algunos algoritmos para la extraccin de informacin numrica

    relacionada con la identificacin de parmetros en las imgenes. Dichos parmetros se usan para

    estimar la posicin de la cmara con respecto a los objetos y la posicin de los objetos respecto a

    la cmara, mediante la integracin de mapeos lineales entre la velocidad de la cmara y el espacio

    operacional.

    3. Se puede afirmar que el conjunto de parmetros y relaciones geomtricas concernientes a un

    objeto, son la base de las tcnicas de estimacin que ayudan a representar objetivos dentro del

    espacio de trabajo de un robot manipulador.

    FUENTES

    1. Gulrez Tauseef. Advances in Robotics and Virtual Reality. Ed. Springer, 2012.

    2. Reyes Corts, Fernando. Robtica Control de Robots Manipuladores. Ed. Alfaomega, 2011.

    3. S. Nise, Norman. Control Systems Engineering. Ed. Wiley, 2011.

    4. Kelly R. Control of Robot Manipulators in Joint Space. Ed. Springer, 2010.

    5. Siciliano, Bruno. Robotics Modelling, Planning and Control. Ed. Springer, 2010.