Cerrar - Revista Colombiana de Física

Anuncio
Revista Colombiana de Física, Vol. 43, No.1 de 2011.
Ubicación De Coordenadas 3D Para Un Brazo Robótico De 3 Grados De
Libertad Mediante Técnicas De Visión Por Computador Y Control
Digital
3D Coordinate Location For A Robotic Arm With 3 Degrees Of Freedom Using Computer
Vision And Digital Control Techniques
D. Revelo a, D. Usama a, D. Bravo * b.
a
b
Grupo de Óptica y Láser, Universidad del Cauca. Popayán, Colombia.
Grupo de Diseño simulación y control, Universidad del Cauca. Popayán, Colombia.
Recibido 10.04.10; Aceptado 19.12.10; Publicado en línea 24.04.11.
Resumen
En este trabajo se presenta el control automático de posición de un brazo mecánico de 3 grados de libertad. Para esto se
utilizaron técnicas de visión por computador que determinan las coordenadas tridimensionales del brazo mecánico y un
controlador digital RST que le permite al dispositivo ubicarse, en tiempo real, en las coordenadas enviadas a través de un
PC de forma rápida y con error nulo en estado estable. El brazo está conformado por 3 servomotores cuyo
comportamiento se registra por dos cámaras webcam y analiza con un software especializado en procesamiento de video;
se advierte la ventaja de utilizar las cámaras como sensores: así se logra medir las variables de posición con precisión sin
adicionar carga al sistema. De esta forma se unen técnicas de procesamiento digital de video y algoritmos de control
digital para desarrollar un prototipo mecánico de posicionamiento tridimensional.
Palabras clave: Visión de Máquina; Visión Estereoscópica; Controlador RST.
Abstract
In this work, it is presented a positional automatic control of a mechanical arm with 3 degrees of freedom. For this, we
implemented several techniques of computer vision that determine the three-dimensional coordinates of the mechanical
arm and a RST digital controller that allows the device to be located, in real time, in the coordinates sent across a PC
quickly and without mistakes and in a stable state. The arm is made of 3 servomotors whose behavior is registered by two
webcams and is also examined with the help of a specialized software in video processing. It is important to emphasize
the advantage of using these cameras as sensors: they make it possible to measure the positional variables accurately
without adding load to the system. This way, different digital video-processing techniques and digital control algorithms
are combined in order to develop a mechanical prototype of three-dimensional positioning.
Keywords: Machine Vision; Stereoscopic Vision; RST controller.
PACS: 07.07.Df, 07.05.Dz.
© 2010 Revista Colombiana de Física. Todos los derechos reservados.
* [email protected]
Rev.Col.Fís., Vol. 43, No. 1 de 2011.
1.
origen de coordenadas de una de las cámaras (centro de la
imagen), entonces se puede determinar la coordenada Z del
punto de interés.
Introducción
En este artículo se presentan técnicas para la estimación
de la posición tridimensional de un objeto (en particular el
extremo de un brazo robótico), partiendo de dos vistas
tomadas por dos cámaras web. Esta tarea se engloba dentro
de una tarea principal que es la de poder realizar el control
de posición del elemento terminal o herramienta de un
brazo que cuenta con tres grados de libertad, para la
posterior aplicación en procesos automáticos.
Las coordenadas reales sobre el eje X del punto de
interés se proyectan en las dos imágenes según las
ecuaciones (1) y (2).
(1)
(2)
La técnica empleada para la determinación de las
coordenadas tridimensionales del punto de interés es la
llamada visión estereoscópica, Se han usado dos cámaras
idénticas alineadas y calibradas, separadas una distancia
conocida, similar a la disposición de los ojos en la visión
humana. Sobre las webcam se utilizan filtros infrarrojos
para obtener la representación de la imagen sólo en este
rango de frecuencias para facilitar el tratamiento y
seguimiento del punto de interés.
Con las correspondientes coordenadas en pixeles del
punto de interés para cada imagen se ha estimado la
posición del punto tridimensional que representa el
extremo del robot.
Fig. 1: Disposición geométrica de las cámaras para obtener la
profundidad de un punto de interés w.
Para ejecutar el control de posición sobre los
servomotores se han implementado leyes de control digital
RST en un ordenador; de las leyes de control se envían las
señales de control por el puerto serial del PC hacia los
servomotores, mientras que las cámaras web son los
sensores de realimentación de la bucla de control.
Sin embargo, debido a la separación entre las cámaras y
a que la coordenada Z de w es la misma en los sistemas de
coordenadas de ambas cámaras, se tiene que:
(3)
2.
Visión Estereoscópica
(4)
donde B es la distancia de la línea base.
2.1. Imagen Estereoscópica
La representación de una escena tridimensional sobre
un plano imagen es una aplicación en la que muchos
puntos del espacio se corresponden con uno solo. De otra
forma, el punto de la imagen no determina unívocamente
el correspondiente punto del espacio tridimensional. Sin
embargo, la información perdida sobre la profundidad
puede obtenerse empleando técnicas estereoscópicas.
Como muestra la Fig. 1, la imagen estereoscópica
implica la obtención de dos imágenes separadas del mismo
objeto (un único punto w del espacio tridimensional; el
punto w representa un LED infrarrojo ubicado en el
extremo del brazo). La distancia entre los centros de las
dos lentes se denomina línea base. El objetivo consiste en
hallar las coordenadas (X, Y, Z) del punto w que tiene las
coordenadas (x1, y1) y (x2, y2) en las dos imágenes. Se
supone que ambas cámaras son idénticas y que sus
respectivos sistemas de coordenadas están difiriendo
exclusivamente en la posición de sus orígenes. Si se
considera el origen de coordenadas global el mismo que el
Fig. 2: Vista superior de la Fig. 1.
Reemplazando (2), en (3) se obtiene:
90
D. Revelo, D. Usama, D. Bravo: Ubicación De Coordenadas 3D Para Un Brazo Robótico De 3 Grados De Libertad Mediante Técnicas
De Visión Por Computador Y Control Digital
3.2. Modelo Geométrico
(5)
Este modelo expresa las coordenadas operacionales del
robot, en función de sus coordenadas articulares.
Finalmente restando (1) de (5) se obtiene la coordenada de
profundidad.
Tabla No 1: Parámetros geométricos.
(6)
3.
Descripción del Brazo Robótico
3.1. Características del Brazo Robótico
j
σj
αj
dj
θj
rj
1
2
0
0
0
θ1
0
0
90
0
θ2
0
3
1
90
0
90
r3
Donde:
El brazo robótico está constituido por tres
servomotores; los servos representan tres articulaciones de
las cuales 2 son rotoides y una es prismática. En la Fig. 3.
se muestra el esquema articular del robot.
σj es 0 si la articulación es rotoide y 1 si la articulación es
prismática.
αj: ángulo entre los ejes Zj-1 y Zj, correspondiente a una
rotación alrededor de Xj-1
En el extremo del brazo, en el lugar de la herramienta,
se ubica un LED infrarrojo; el LED representa el punto de
interés para las cámaras del cual se busca obtener sus
coordenadas tridimensionales de un sistema de
coordenadas global ubicado en el centro de la imagen de
una de las cámaras.
dj: distancia entre Zj-1 y Zj a lo largo de Xj-1
θj: ángulo entre los ejes Xj-1 y Xj correspondiente a una
rotación alrededor de Zj
rj: distancia entre Xj-1 y Xj a lo largo de Zj
j-1
Tj
(7)
Utilizando la tabla de parámetros geométricos y
aplicando la matriz j-1Tj a cada una de las articulaciones del
robot se obtiene:
0
T3 =
0
T1 1T2 2T3
0
T3
(8)
Fig. 3: Esquema articular del brazo robótico.
Donde la ecuación de posición es:
(9)
Como en realidad se necesitan las coordenadas
articulares θ1, θ2 y r3 en términos de las variables de
posición, se utiliza el método de Paul para encontrar dichas
variables, obteniendo:
(10)
Fig. 4: Vista en 3D del brazo robótico.
(11)
91
Rev.Col.Fís., Vol. 43, No. 1 de 2011.
(12)
4.
Proceso de Calibración de las Cámaras
El proceso de calibración de una cámara consiste en
estimar los parámetros intrínsecos y extrínsecos de la
misma. Este proceso se puede realizar en dos pasos:
Primero se estima la matriz de proyección M y después se
estiman los parámetros intrínsecos y extrínsecos de la
cámara a partir de la matriz de proyección M.
Fig. 6: A la izquierda imagen original, a la derecha imagen
corregida.
La estimación de la matriz de proyección M puede ser
realizada partiendo de diferentes escenarios conocidos o
desconocidos. En el caso de tener una escena conocida, se
sitúan una serie de puntos en el mundo 3D cuyas
posiciones respecto al sistema de coordenadas del mundo
3D son conocidas. Se recoge una imagen de la escena y se
obtienen la posición en píxeles de los correspondientes
puntos en la imagen. El conjunto de posiciones de los
puntos 3D p = [X, Y, Z] junto con sus correspondientes
posiciones en la imagen q = [U, V] se utiliza para definir
una ecuación lineal del sistema, la cual se puede solucionar
para obtener los elementos de la matriz de proyección M.
5.
Montaje Experimental y Algoritmo
Se toman dos cámaras web a las cuales se les extrae el
filtro visible y se les implanta filtros infrarrojo, las cámaras
están separadas 5 cm entre sí y dispuestas paralelamente
como se muestra en la Fig. 7.
Posteriormente, se sitúa en el órgano terminal del robot
un LED infrarrojo y este sistema se ubica
perpendicularmente a los ejes ópticos de las cámaras, a una
distancia tal que el lugar de operación del robot encaje
completamente en las imágenes tomadas por las cámaras
(ver Fig. 8. y Fig. 9); esto garantiza mayor resolución en la
medida.
En el proceso de calibración geométrica de la cámara
se deben determinar los parámetros extrínsecos e
intrínsecos, los cuales se identifican como:
Parámetros Intrínsecos
Kx, Ky : Factor de escala.
F : Distancia focal.
Cx,Cy: Punto principal.
Dx,Dy: Distorsión geométrica.
Parámetros Extrínsecos
T: Vector de rotación.
R: Matriz de rotación.
Fig. 7: Vista en 3D del sistema de visión y el brazo robótico.
Fig. 5: Imagen de la grilla utilizada para el proceso de calibración
de las cámaras web.
Fig. 8: Máxima posición en las imágenes del campo de trabajo
del brazo robótico en la izquierda.
92
D. Revelo, D. Usama, D. Bravo: Ubicación De Coordenadas 3D Para Un Brazo Robótico De 3 Grados De Libertad Mediante Técnicas
De Visión Por Computador Y Control Digital
Fig. 11: Curva de respuesta en tiempo real para el controlador
RST.
Fig. 9: Máxima posición, en las imágenes, del campo de trabajo
del brazo robótico en la derecha.
7.
Resultados
Tabla No. 2: Planta en lazo abierto.
El algoritmo se trabajó en la plataforma de
programación Dev-C++ versión 4.9.9.2 y las librerías
desarrolladas por Intel para procesamiento de imágenes
OpenCV versión 1.1. Las imágenes procesadas tenían un
tamaño de 640 X 480.
6.
θ (º) Real
15
20
25
30
35
40
45
50
55
60
65
70
75
80
85
90
Controlador RST
θ (º) Medido
3.3
12.2
17.4
22.0
30.3
36.1
42.5
48.8
54.3
60.4
68.4
72.1
80.1
85.7
89.7
97.6
Tabla No. 3: Planta en lazo cerrado.
θ (º) Real
15
20
25
30
35
40
45
50
55
60
65
70
75
80
85
90
Fig. 10: Controlador RST diseñado en Matlab 7.0.
T muestreo = 0.2s
El tiempo de muestreo se calculó teniendo en cuenta el
tiempo de un ciclo de máquina.
El controlador se diseñó de tal manera que su error en
estado estable fuera cero, como se muestra en la Fig. 11.
93
θ (º) Medido
15
20
25.1
30
35
40
45
50
55.1
60
65
70
75
80
85.1
90.1
Rev.Col.Fís., Vol. 43, No. 1 de 2011.
El sistema realimentado tiene mayor resolución,
respecto al sistema en lazo abierto, con un factor de 10.
Medido
Real
Trabajar con imágenes de mayor tamaño mejora la
resolución del sistema.
2
0
Esta técnica puede ser usada en robots con mayores
grados de libertad.
Eje Z
-2
-4
-6
9.
-8
-10
15
10
Los autores desean agradecer a la Vice-rectoría de
Investigaciones de la Universidad del Cauca por soporte
para el desarrollo de este trabajo al interior del Grupo de
Óptica y Láser. Esta investigación fue realizada bajo el
proyecto BPIN 0020-05492-0000.
5
5
0
0
Eje Y
-5
-5
-10
Eje X
Fig. 12: Medidas de la posición utilizando la visión
estereoscópica y el controlador RST.
Referencias
En la Tabla No. 3. se observa que el controlador RST
permite mantener nulo el error en estado estable, esto
permite que la resolución del sistema dependa únicamente
de la resolución de la visión estereoscópica.
La resolución del sistema en lazo abierto es de
[1] Ollero, Anibal. Robótica, manipuladores y robots
móviles. Marcombo, 2001.
[2] Bradski, Gary. Kaehler, Adrian. Learning OpenCV:
Computer Vision whit the OpenCV Library. 1ra ed.
E.U.A. Edicones O’Reilly 2008.
.
[3] Ogata, Katsuhiko. Sistemas de control en tiempo
discreto, 2a ed. Mexico 1996. Prentice Hall
hispanoamericana S.A.
Para determinar la resolución del sistema en lazo
cerrado, se tomaron medidas en el plano (X, Z) con
variación en el eje Y; en la Fig. 12. se muestran los
resultados para Y = 0. En cada una de las variaciones de Y
se observó un comportamiento similar, con resolución de
.
8.
Agradecimientos
[4] Sciavicco, Lorenzo. Siciliano, Bruno. Modeling and
Control of Robot Manipulators, McGraw-Hill, 1996.
[5] Martinez, Rafael K. Control de Movimiento de Robots
Manipuladores, UNAM, México, 1990.
Conclusiones
[6] Khalil, Wisama. Dombre, Etienne. Modeling,
Identification and Control of robots, Hermes Penton
Science, 2002.
Utilizar la visión estereoscópica como sensor de
realimentación permite realizar una significante reducción
en el error de posición.
El uso de cámaras con filtros infrarrojos minimiza el
ruido en las imágenes tomadas y por ende se reduce el
tiempo de procesamiento.
94
Descargar