VISUAL SERVOING, UNA NUEVA TENDENCIA DE CONTROL IMT

Anuncio
VISUAL SERVOING, UNA NUEVA TENDENCIA DE CONTROL
PRIMERA PARTE: ADQUISICIÓN Y PROCESAMIENTO DE IMÁGENES CON MATLAB
IMT LUIS MANUEL GARCÍA MARTÍNEZ.
DOCENTE DE LA ACADEMIA DE INGENIERÍA MECATRÓNICA
luismanuel.garcia@itsteziutlán.edu.mx
RESUMEN
El presente trabajo tiene como finalidad presentar los elementos básicos para formalizar un
sistema de control de un robot manipulador o sistema mecatrónico, a partir de una técnica derivada
de la visión artificial denominada Visual Servoing. Los nuevos estándares de calidad a nivel
internacional dentro de los procesos de manufactura, demandan la formulación de nuevos
esquemas de control que respondan a necesidades cada vez más exigentes en precisión, 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 clásicos, procesos y
procedimientos aún más precisos.
PALABRAS CLAVE
Procesamiento de Imágenes, Robótica, Visión artificial, Control, MATLAB.
INTRODUCCIÓN
Las operaciones automatizadas realizadas por robots manipuladores dentro de una línea de
producción, requieren de un nivel cada vez más alto de precisión, exactitud y desempeño. Es por
lo anterior, que el diseño de nuevos sistemas de control lleva implícita la aplicación de retos
teóricos que solucionen esencialmente los problemas de origen práctico, los cuales, no pueden
ser corregidos por medio de algoritmos habituales.
El problema general del control en coordenadas articulares de robots manipuladores, es el análisis
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 posición 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 práctica, una estrategia de control se lleva a la etapa de evaluación experimental o de
simulación, a través de reglas gramaticales o sintaxis de un lenguaje de programación, como
puede ser: C, C++, Java, o MATLAB, donde el algoritmo de control es la implementación de un
modelo matemático representativo de la ley de control dentro de dicho lenguaje.”
(Reyes Cortés, 2011.)
CONTROL POR VISIÓN
Un sistema de visión artificial, que imita la acción del ojo humano, se compone principalmente de
una cámara de video, dispositivos electrónicos, y programación para poder interpretar la
información visual en un monitor. Estos sistemas permiten medir, sin interacción humana, la
posición y orientación del propio robot, así como de cualquier objeto dentro del espacio de trabajo.
Al control de robots manipuladores mediante información visual proporcionada por una cámara,
en un esquema de control retroalimentado, se le denomina control por visión o Visual Servoing. El
cual puede ser empleado por el sistema de control, tanto para la planificación de trayectorias, como
para el control de retroalimentación.
El control por visión es el resultado de fusionar varias disciplinas, como son: la visión artificial, la
teoría de control, la computación y por supuesto, la robótica. Su objetivo es incorporar dentro del
lazo de control la información visual obtenida a partir del sistema de visión, para crear una variable
de error definida por el conjunto de características propias de las imágenes, tales como: el color,
el contorno, la posición y la forma.
La información proporcionada por un sistema de visión, que puede incluir una o más cámaras en
diferentes configuraciones, retroalimenta al algoritmo de control para que éste guíe la posición 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 más simple se basa en el objetivo estático y
la generación de la trayectoria hacia un punto específico de su imagen.
Visual Servoing utiliza algunos algoritmos para la extracción de información numérica relacionada
con la identificación de parámetros en las imágenes. Dichos parámetros se usan para estimar la
posición de la cámara con respecto a los objetos y la posición de los objetos respecto a la cámara,
mediante la integración de mapeos lineales entre la velocidad de la cámara y el espacio
operacional. Los métodos analíticos de estimación de posición se basan en la medición de un
determinado número de puntos, denominados propiamente correspondencias, dentro del
elemento o elementos, que aparecen en la escena.
Considere por ejemplo, un robot manipulador equipado con una cámara, que tiene que tomar un
objeto utilizando un dispositivo de agarre. A través de la visión, el robot puede adquirir información
capaz de identificar la relación del objeto con respecto a la pinza. Esta información permite al
sistema de control planificar una trayectoria que lleva el manipulador en una configuración de
agarre apropiada, calculada sobre la base de la estructura y la forma del objeto.
La planificación 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 posición deseada en el esquema de control del robot, dicha configuración
conocida como “ver y mover”, puede estar basada en la posición o en las características de la
imagen del objeto. Sin embargo, dicha configuración tiene la desventaja de hacer al sistema muy
sensible a incertidumbres, debidas principalmente, a la falta de precisión en el posicionamiento del
manipulador, ya que el esquema de control no considera el hecho de que el objeto pueda cambiar
de posición mientras que la pinza consigue la posición más adecuada para tomarlo.
Por otro lado, existe una configuración alterna denominada “servo visual” en la cual, las mediciones
efectuadas por la cámara sirven de retroalimentación directa al sistema de control cartesiano del
robot. Estas mediciones se usan para calcular el vector de error más apropiado, definido por la
posición del objeto y la posición del efector final, lo que permite realizar correcciones inmediatas
en la trayectoria del robot para “seguir” al objetivo, aún si este se encuentra en constante
movimiento.
Los esquemas de control basados en visión se pueden dividir en dos categorías, es decir, aquellos
que realizan control visual en el espacio operativo, “Visual Servoing basado en Posición” y aquellos
que realizan control visual en la escena de la imagen también llamado, “Visual Servoing basado
en Imagen”. La principal diferencia entre estas dos configuraciones es que la primera utiliza
mediciones visuales para reconstruir la posición relativa del objeto respecto al robot o viceversa,
mientras que el segundo esquema está basado en la comparación de las características de la
imagen del objeto entre la posición actual y la deseada. Aunque también hay esquemas que
comparten características comunes de ambas categorías, los cuales se denominan: “Hybrid Visual
Servoing”.
Resulta evidente que una característica clave del control visual, en comparación 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 cálculos complejos, los cuales se basan en algoritmos de
procesamiento de imágenes y sistemas computacionales de visión. Otros aspectos a tener en
cuenta para el control basado en visión son: el tipo y las características de la cámara. Ya que ésta
puede ser monocromática o a color, de baja o alta resolución, de longitud focal fija o variable, así
como, la tecnología usada en la cámara que puede ser CCD o CMOS.
PROCESAMIENTO DE IMÁGENES
La primera fase de Visual Servoing es la adquisición y el procesamiento de imágenes. Para
entender mejor estos conceptos, considere el funcionamiento de una cámara monocromática
simple que cuente con una pantalla propia. Cuando esta cámara captura las imágenes,
inmediatamente las procesa en tiempo real y las muestra como un cuadro en la pantalla;
analizando propiamente la captura, se pueden observar los parámetros característicos de la
imagen: el contorno y la forma. Dichos parámetros vienen dados por valores de intensidad
luminosa variante dentro de la escala de grises, que dependen del objeto, del ambiente y de la
resolución de la cámara.
Imagen 1. Captura de imagen en escala de grises.
Ahora imagine que utiliza varias de estas cámaras para capturar el mismo objetivo desde
diferentes puntos de vista. Además de los parámetros mencionados anteriormente, es posible
obtener algunas relaciones geométricas entre la perspectiva de cada cámara, como pueden ser:
ángulos entre los focos o posiciones relativas entre los puntos de captura. Estas relaciones de
posición entre las cámaras, pueden ser utilizadas para definir algunos aspectos de orientación y
referencia del objetivo, como por ejemplo: si los parámetros 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 parámetros y relaciones geométricas
concernientes a un objeto, son la base de las técnicas de estimación que ayudan a representar
objetivos dentro del espacio de trabajo de un robot manipulador. En este sentido la parte más
importante para la obtención de imágenes reside en la calibración de la cámara, la cual es
necesaria para el cálculo de los parámetros intrínsecos que como puede verse, relacionan las
cantidades medidas en el plano al que hacen referencia.
Imagen 2. Captura de un objetivo utilizando tres cámaras a la vez.
La información visual, a diferencia de la información 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 robótico. El objetivo de estas transformaciones
es la extracción de la información numérica de la imagen, que proporciona una descripción
sintética y robusta de los objetos de interés en la escena, a través de los parámetros característicos
de la imagen. Para este fin, se requieren dos operaciones básicas; la primera, denominada
segmentación, que es la obtención de una representación adecuada para la identificación de
características medibles de la imagen; y la segunda, denominada interpretación, la cual se refiere
a la medición de los parámetros de características de la imagen.
La información 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
píxeles. La también denominada función de la imagen, se define como una función vectorial cuyos
componentes representan los valores de una o más cantidades físicas relacionadas con el píxel,
en una forma muestreada y cuantificada.
Por ejemplo, en el caso de imágenes a color, la función de imagen definida sobre un píxel 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 monocromática, en blanco y negro, la función de imagen es escalar y coincide
con la intensidad de la luz en tonos de gris I ( xi, yi ), también conocida como escala de grises.
El número de niveles de gris depende de la resolución 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 límites mínimo y máximo 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 representación 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
aparición 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 número de cuadros que pertenecen al mismo
tono de gris. De este modo, si el número de repeticiones de cada uno de los tonos de gris se divide
entre el número total de pixeles se obtiene un histograma normalizado.
Imagen 3. Histograma de los niveles de gris.
ALGORITMO DE PROCESAMIENTO DE IMÁGENES
A continuación, se presenta una aplicación en MATLAB que obtiene los parámetros característicos
de una imagen en tiempo real. Estos parámetros pueden ser usados, mediante una interfaz
apropiada, como una retroalimentación al sistema de control articular de un robot manipulador
para posicionarlo en un punto específico.
La primera parte del código, que se muestra en la imagen 4, se usa para realizar la adquisición de
datos en formato de video. Este conjunto de instrucciones otorgan argumentos sobre el tipo y
modo de adquisición de información. En este caso, el nombre de la cámara, el número de
dispositivo, el formato, así como la velocidad de adquisición en cuadros por disparo. Cabe
mencionar que estos datos dependen exclusivamente de la cámara con la que se realiza la
adquisición, por lo que pueden variar de un dispositivo a otro.
Imagen 4. Inicialización y adquisición de información visual.
La segunda parte del código despliega el procesamiento de la imagen (ver imagen 5) donde se
observa que se debe realizar una conversión 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 conversión de escala de grises a blanco y negro, a partir de un dato
crítico, conocido como umbral. El dato de umbral, depende de las condiciones de luz que presenta
la zona donde se ejecuta el código, y su función es servir de parámetro para obtener una imagen
binaria que pueda ser usada para constituir el contorno del objetivo deseado.
Imagen 5. Estructuras de código utilizadas para procesar la imagen.
En la imagen 6, se expresan las instrucciones necesarias para obtener el centroide del contorno,
que por definición es el punto hipotético donde se concentra toda la masa de una figura geométrica.
En este punto, es a donde debe dirigirse la herramienta del robot para poder manipular el objetivo
físico capturado en la imagen.
Imagen 6. Obtención del centroide de la figura.
En la última parte del algoritmo, mostrada en la imagen 7, se indica la asignación a una variable
de la imagen binaria invertida y su posterior despliegue en pantalla, así como la representación
del centroide dentro del contorno.
Imagen 7. Código para obtener y mostrar el centroide del contorno.
RESULTADOS
Los resultados de la adquisición y procesamiento de imágenes en tiempo real, realizados a partir
del algoritmo anterior, se pueden resumir como:
1. Obtención de la imagen en formato RGB
2. Conversión de RGB a escala de grises.
3. Obtención del histograma que muestra las frecuencias en los tonos de gris.
4. Conversión de escala de grises a imagen binaria, a partir del dato de umbral.
5. Obtención de la imagen invertida.
6. Despliegue de la imagen invertida con su centroide.
A continuación se expone un ejemplo de aplicación:
Se usó como muestra una bebida embotellada que se colocó en una superficie de color uniforme.
El algoritmo realiza el tratamiento descrito en la sección anterior y muestra los siguientes
resultados:
Imagen 8. Procesamiento de imágenes con MATLAB.
Imagen 9. Obtención del centroide dentro del contorno que representa el líquido dentro de la botella.
Imagen 10. Tiempo de ejecución y coordenadas del centroide.
CONCLUSIONES
1. La inteligencia artificial se muestra como una respuesta moderna y en pleno desarrollo para
generar procesos y procedimientos aún más precisos en conjunto con los esquemas de control
clásicos.
2. Visual Servoing utiliza algunos algoritmos para la extracción de información numérica
relacionada con la identificación de parámetros en las imágenes. Dichos parámetros se usan para
estimar la posición de la cámara con respecto a los objetos y la posición de los objetos respecto a
la cámara, mediante la integración de mapeos lineales entre la velocidad de la cámara y el espacio
operacional.
3. Se puede afirmar que el conjunto de parámetros y relaciones geométricas concernientes a un
objeto, son la base de las técnicas de estimación 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 Cortés, Fernando. Robótica 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.
Descargar