S E P - Tecnológico Nacional de México campus CENIDET

116
S E P S.E.1.T D.G.1.T CENTRO NACIONAL DE INVESTIGACI~N Y DESARROLLO TECNOL~GICO CENIDET "DISEÑO DE UN SISTEMA DE CALIBRACIÓN AUTOMÁTICO PARA UN SISTEMA DE VISIÓN-ROBÓTIC A" T E S I S QUE PARA OBENER EL GRADO DE: MAESTRO EN CIENCIAS DE LA COMPUTACI~N P R E S E N T A: AGUSTÍN PÉREZ RAMÍREZ LICENCIADO EN COMPUTACION POR LA BENEMERITA UNIVERSIDAD AUT~NOMA DE PUEBLA DG'Tl CENIDET DIRECTOR DE TESIS: rlLNT~o DE lNFORMAC'ON DR. RAÚL PINTO ELÍAS DR. ALEJANDRO RODRÍGUEZ PALACIOS 02-0487 CODIRECTOR DE TESIS CUERNAVACA, MORELOS MAYO DEL 2002

Transcript of S E P - Tecnológico Nacional de México campus CENIDET

S E P S.E.1.T D.G.1.T

CENTRO NACIONAL DE INVESTIGACI~N Y DESARROLLO TECNOL~GICO

CENIDET

"DISEÑO DE UN SISTEMA DE CALIBRACIÓN AUTOMÁTICO PARA UN SISTEMA DE

VISIÓN-ROBÓTIC A"

T E S I S QUE PARA OBENER EL GRADO DE:

MAESTRO EN CIENCIAS DE LA COMPUTACI~N

P R E S E N T A:

AGUSTÍN PÉREZ RAMÍREZ LICENCIADO EN COMPUTACION POR LA

BENEMERITA UNIVERSIDAD A U T ~ N O M A DE PUEBLA

DG'Tl CENIDET DIRECTOR DE TESIS: rlLNT~o DE lNFORMAC'ON

DR. RAÚL PINTO ELÍAS

DR. ALEJANDRO RODRÍGUEZ PALACIOS 0 2 - 0 4 8 7

CODIRECTOR DE TESIS

CUERNAVACA, MORELOS MAYO DEL 2002

FORMA C4 AUTORIZACION DE INIPRESIÓN DE TESIS

Cuemavaca, Mor., 24/mayo/02.

C. AGUSTíN PÉREZ RAMíREZ Candidato al grado de Maestro en Ciencias en Ciencias Computacionales Presente

Después de haber atendido las indicaciones sugeridas por la Comisión Revisora de la Academia de Ciencias Computacionales en relación a su trabajo de tesis: "DICEÑO DE UN SISTEMA DE CALIBRACIÓN AUTOMÁTICA PARA UN SISTEMA DE VISIÓN-ROBÓTICA", me es grato comunicarle, que conforme a los lineamientos establecidos para la obtención del grado de Maestro en Ciencias en este Centro, se le concede la autorización para que proceda con la impresión de su tesis.

Atentamente

Di. RodotfocdPazos Rangel Jefe del Depto. de Ciencias Computacionales

C.C.P. Expediente

INTERIOR INTERNADO PALMIRA S/N, COL, PALMIRA , A.P. 5-164. CP. 62490, CUERNAVACA. MOR. - MÉXICO TELS.(777)312 23 14,318 7741,FAX(777) 312 2434 EMAIL [email protected] 1

.

FORMA C3 REVISION DE TESIS

15 " " "

Cuernavaca, Morelos a 17/mayo/02 Dr. Raúl Pinto Elías Presidente de la Academia de Ciencias Computacionales Presente

Nos es grato comunicarle, que conforme a los lineamientos para la obtención del grado de Maestro en Ciencias de este Centro, y después de haber sometido a revisión académica la tesis denominada: DISEÑO DE UN SISTEMA DE CALIBRACIÓN AUTOMÁTICO PARA UN SISTEMA DE VISIÓN-ROBÓTICA, realizada por el C. AGUSTIN PÉREZ RAMíREZ, y habiendo cumplido con todas las correcciones que le fueron indicadas, acordamos no tener objeción para que se le conceda la autorización de impresión de la tesis.

Sin.otro particular, quedamos de usted.

Atentamente La comisión de revisión de te

/,..-.-,-*

S. E. P. CENTRO NACIONAL DE

1NVESTlGAClON Y MSARROLLO TECNOLOGICO

citnctt6 COMQUTACIONAL~S

C.C.P. Dr. Rodolfo A. Pazos Rangel/Jefe del Departamento de Ciencias Computocionales

INTERIOR INTERNADO PALMIRA S/N. COL, PALMIRA, A.P. 5-164. CP. 62490. CUERNAVACA. MOR. - MÉXICO TELS.(777)312 2314.318 7741,FAX(777) 312 2434 EMAIL pazos~sd-cenidet.com.mx 1 i

Dedicatoria

Dedicado con todo cariño a mipadres:

Miguel Pérez Gutiérrez y Gloria Ramírez Aguilar

Agradecimientos

Gracias Diospor ser mi mejor amigo ypor que terminamos con bien este trabajo.

A mis padres por su motivación, ejemplo de superación y voluntad inquebrantable.

A mi coasesor el Dr. Alejandro Rodríguez Palacios por su guía, paciencia y motivación durante el desarrollo de este trabajo.

A mi asesor el Dr. Raúl Pinto Elias por su ayuda durante el desarrollo de este trabajo.

Al M.C Jose Luis Rubio por la información prestada para el desarrollo de este trabajo.

A mis revisores: Dr. Enrique Quintero-Marmol Marquez, Dr. Marco A. Oliver Salazar y al Dr. Gerard0 Reyes Salgado por el tiempo dedicado para la revisión de mi tesis.

A mis .hermanos: Miguel, Silvia, Gerardo, Norma, Javier y Gloria por su amistad, cariño y apojw económico.

A mis amigas: Lourdes, Consuelo, Catalina, Ayodele, Ana Maria, Esmeralda, Raquel y Mireya por. su compañía tan agradable y que me f u e de gran 'ayuda durante mi maestría.

A COSNET y a CONACYTpor el apoyo económico prestado.

.

Contenido Página

Capítulo 1 ., Introduccion .__. ..... .... ........ , ... ................... ......... , .... .... ... ... ....... .... ... ................... ....__. , .. , ... ... , . , .. . 1 I

/I Capitulo 2 . I Sistema de vision-robótica ..................................................................................................... 8

2.1. Introduccion ..................................................................................................................... 8 2.2. Conceptos básicos del robot ............................................................................................ 8

2.2.1. Cinemática del robot ............................................................................................... 11 2.3. Conceptos bá&os del sistema de visión ....................................................................... 13

2.3.1. Paráinetros de una cámara .................................................................................. 14 2.4. Sistema de cafibracion ................................................................................................... 15 2.5. Conceptos matemáticos básicos para un sistema de calibración de un sistema de visión- robotica ........ . _.. . ... :i ......... .................................. , .... .... .................... ............................. ... .... . .. 17

2.5.1, Reprcsentacion de la posicion ................................................................................ 17 2.5.2. Reprcsentacion de la orientation ............................................................................ 17 2.5.3. Rotaciones y matrices de rotaciones ....................................................................... 18 2.5.4. Matrices de transformación homogénea ................................................................. 19 2.5.5. Cuatemiones ........................................................................................................... 20 2.5.6 Aproximación polinomial utilizada en un sistema de visión-robótica .................... 23

2.5.6.1 El método de mínimos cuadrados ..................................................................... 23

.,

, 'I

.,

, . 11

. r . .,

., .,

!I

Capitulo 3 - Análisis del sistema de calibración para un sistema modular de visión-robótica ................ 26 3.1. Introduccion ... : ............................................................................................................... 26 3.2. Descripción del problema de calibración ...................................................................... 26 3.3. Análisis de un sistema de visien-robótica ..................................................................... 27

3.3.1 Calibracion de la cámara ......................................................................................... 29 3.3.2 Análisis de'lla interacción del robot en el sistema de visión-robótica ...................... 30 3.3.3. Planteamiento del problema de calibración de un sistema modular de visión- robotica ............................................................................................................................. 3 1 3.3.4 Condiciones bajo las que se desarrolló el sistema de calibración para un sistema modular de vision-robótica (SCSMVR) ........................................................................... 32

. , I/

. r I

, .

. , Y

'I

Capitulo 4 I Página

I

Desarrollo de un sistema de calibración para un sistema modular de visión-robótica (SCSMVR) ........................................................................................................................... 1 . 34

I! 4.1 Introduccion .................................................................................................................... 34 I 4.2 solucion general del problema ........................................................................................ 35

4.3 Modelo matemático para un sistema de calibración de un sistema modular de visión- robótica (SCSMVR) I1 37

robot al sistema mundial ............................................ ! ...................................................... 39

4.3.3.1 Solución del modelo de calibración utilizando cuatemiones ........................... 43

4.5 Calibración de un sistema de visión-robótica utilizando mínimos cuadrados ............... 56

.. ..

............................................................................................................. 4.3.1 Descripción de la transformación lineal que mapea puntos desde el sistema del

4.3.2 Descripción de la transformación que mapea puntos desde el sistema mundial ai sistema de la cámara ................................................. : ....................................................... 40 4.3.3 Solución del modelo matemático para calibrar!ln sistema de visión-r0bótic.a ....... 42

4.4. Implementación del programa que calibra un sistema modular de visión-robótica ...... 45

4.5.1 Implementación de un sistema de calibracibn para un sistema de visión-robótica utilizando mínimos cuadrados ....................................... i ...................................................... 59

4.5.2 .. Implementación del programa que calibra dn sistema modular de visión-robótica utilizando mínimos cuadrados ....................................... : ...................................................... 60 . .

I1 Conclusiones y trabajos futuros 'i ~

II Conclusiones ................................................................. : ...................................................... 65 .................................................................................................................... Trabajos futuros 11 66

I Apéndice A .I

I Apéndice B il II

Descripción de los parámetros de Denavit-Hartenberg: ....................................................... 68

Cuaterniones ......................................................................................................................... 'I 72

Magnitud de un cuatemion .......................... i ........................................................................ II

. r B.l introduccion ................................................................................................................... 72 B.2 Operaciones básicas de los cuatemiones ....................................................................... 72

75 B.3 Estructuras con los cuatemiones ............................ : ....................................................... 76

B.3.1 Grupo ............................................................... ' ....................................................... 76 B.3.2 Anillo ....................................................................................................................... 81

B.4 Representación trigonométrica de los .................... ;; ...................................................... 85 cuatemiones I! .......................................................................................................................... 85 B.5 Algunas demostraciones ......................................... ~ ....................................................... 86 I

Página

B.6 Representación de rotaciones y reflexiones ................................................................... 88 mediante cuatemiones ......................................... : ................................................................ 88

B.6.1 Reflcxiones yl rotaciones ......................................................................................... 88 B.6.2 Reflexiones ............................................................................................................. 88 B.6.3 interpretación geométrica de la multiplicación qoraq' ........................................... 91 B.6.4 Construyendo una rotación con cuatemiones ......................................................... 93 B.6.5 Rotaciones con cuatemiones ............................................................. ...................... 96

B.7 Representación de la multiplicación de ......................................................................... 99 cuaterniones utilizando matrices .......................................................................................... 99

B.7.1 Matrices de rotación para cuatemiones ................................................................. 100

I/

11

. . 'i

I/ Referencias bibliográficas ...................................................................... io2

Lista de figuras

Figura 1 .I. Figura 1.2.

Figura 2.1.

Figura 2.2.

Figura 2.3. Figura 2.4.

Figura 2.5.

Figura 3.1. Figura 3.2.

Figura 3.3.

Figura 3.4.

Figura 3.5.

Figura 3.6.

Figura 4.1.

Figura 4.2. Figura 4.3.

II Página

Relación entre los sistemas de visión y robótico. ............................... 2 El sistema de calibración en el sistema modular de visión- robotica. .............................................................................................. 5

Brazo de robot articulado con siete grados de libertad,modelo T475 .......................................................................... 9 Parámetros necesarios para pasar del problema cinemático directo al problema cinemático inverso ........................... 11 Parámetros internos de una cámara ................................................. 14 Sistema de visión-robótica mano-ojo, los sistemas de referencia correspondientes y las transformaciones necesarias para mapear puntos desde uno a otro. .......................... 16 Redultado de rotar el sistema de referencia OUWV alrededor del eje 2 un ángulo 4, después rotar alrededor del'eje Y un ángulo B y por ultimo rotar alrededor del eje X un ángulo a. El resultado es el sistema de referencia ou: ................................................................................................ I 9

' , . I1

I/

Relación entre los sistemas de visión y robótica. ............................. 27 El plano imagen de la cámara y el plano desde donde se tomarán los puntos (plano de trabajo) que serán proyectados en el plano imagen. ..................................................... 28 Puntos de correspondencia de un espacio objetivo a un plano imagen. ................................................................................... 29 Problema cinemático inverso con un robot de 2 grados de libertad. ............................................................................................. 30 Las transformaciones que se tendrian que realizar para crear un sistema de calibración para un sistema de visión- robotica mano-ojo. ............................................................................ 31 Las lcondiciones del problema. Donde la cámara está precisamente arriba del robot. También se muestra el plano de trabajo del robot el cual es desplazable como lo muestran las flechas. ....................................................................... 33

I/

:, .

I

,. .

I I/

Arquitectura distribuida para poder armar sistemas de visión robótica de una manera sencilla. ............................................ 35 Forma en que se comunican el robot y la cámara. ......................... ..36 Trangformaciones necesarias para poder mapear puntos desde un sistema de referencia a otro.. ............................................ 37

11.

Figura 4.4.

Figura 4.5.

Figura 4.6.

Figura 4.7.

Figura 4.8.

Figura 4.9.

Figura 4.10

'i Página :\I: I

Transformaciones lineales necesahias para poder calibrar el 'sistema de visión-robótica, 1 más conocida como calihracion mano-ojo.. ....................................................................... 38 Condiciones del problema. Donde la cámara está precisamente arriba del robot, tamdién se muestra el plano de trabajo del robot el cual es! desplazable como lo

41 lnterfase gráfica principal del programa que calibra un

;; sistema de vision-robótica. ............................................................... 45 Manera de obtener las matrices de calibración desde un

Forma de obtener los parámetros internos y externos de la cámara ........................................... ! .................................................. 47 Forma de obtener los parámetros de posición y orientación del sistema de referencia del robot: 'I 49 Vistas de los sistemas ,de refer+ia del robot y de la cámara con respecto de un sistema de referencia fijo.. .................... 50

..

muestran las flechas.. ....................................................................... 'I

archivo. .......................................... ' i ! ................................................. .46

.,

l l

..................................................

Figura 4.11. Animación de un robot articulado de tres grados de libertad, este se mueve Ütilizando 11 sistema de calibración desarrollado en este trabajo. ........ i .................................................. 51

Figura 4.12. Robot articulado con tres grado; de libertad. Sus tres articulaciones son rotatorias. ............................................................ 53

Figura 4.13. Detalles de los dos Últimos eslabhes del brazo de robot mostrado en la figura 4.12 ................................................................ 54

Figura 4.14. Animación de un robot cilíndrido de tres grados de libertad.. ............................................................................................ 56

Figura 4.15. Muestra los puntos del'robot lo &ales son relacionados con los puntos de la imagen.. 'I ........................................................... 57

Figura 4.16. Entrada, salida y proceso del segdndo método que calibra el sistema modular de visión-rob&a ............................................... 59

Figura 4.17. lnteríase gráfica principal del sistema de calibración para el sistema modular de visión-robót'ica ............................................... 60

Figura 4.18. Cuadrado de dialogo presentado al usuario para que pueda seleccionar un archivo el dual contiene los puntos del robot. ....................... ; I1 .61

Figura 4.19. Cuadro de dialogo el cual le permite al usuario seleccionar un archivo que contendrá los puntos (ui, v,) de la imagen. ............... 61

Figura 4.20. lnterfase gráfica que le permite al'jusuario proporcionar los 62

Figura 4.21. Manera en que el usuario puede Abtener las polinomiales. Además también le permite seleccionar el grado de esas

Figura 4.22. Forma en que se verificó el sistema de calibración. El usuario puede seleccionar cualquier punto de la imagen y este será mapeado al sistema de referencia del robot. .................... 64

I

'I

It

..................................................................

puntos del robot y de la cámara ......................................................... I1

polinomiales .................................. 1 1 ~~ ................................................... 63

Página 'I Vectores q = (41, 92, 43) y r = (x, y, z) y Q que es el plano

perpendicular a q. O es el origen ...................................................... 91 Representación geometrica de r, q y b ............................................. 91 Reflexión de r con respecto al plano Q normal a q. ........................ ..93 Los cuaterniones p y q (Ilpll=llqll =7) con sus respectivos planos perpendiculares P y Q y el ángulo que forman entre ellos. ................................................................................................. 94 Esta figura muestra la representación de los cuaterniones p, ! )q , b y c así como 10s ángulos que forman con 10s planos. ............................................................................................. .95

I/

Figura B.1.

Figura 8.2. Figura B.3. Figura B.4.

Figura B.5.

I/

li

II

II

I / ,

Capítulo 1

In t i?oducciÓn

11

A lo largo de la historia, el hombre se ha inspirado en algunos seres vivos para crear máquinas. De esta manera ha creado máquinas con forma de animal o algo más simple; tal como brazos de personas. Estos brazos artificiales pueden tener mucho ma$or movilidad que los naturales dependiendo del tipo y número de sus articulaciones. Por otra parte, las máquinas creadas por el hombre suelen ser mucho más precisas y rápidas que los seres vivos en los que se inspira para su creación. '/

A las máquinas programables con características humanoides o de algún otro ser vivo se les denomina robots según [Robótica, 19951. Los robots más utilizados y sencillos son los brazos móviles. Los brazos móviles pueden ser programados para que se desplacen a través de una secuencia de movimientos con la finalidad de realizar una tarea específica. Por lo anterior, los brazos móviles son muy utilizados en la industria.

El hombre, inspirado en él mismo y en otros seres vivos, le ha agregado visibilidad a los brazos móviles. En este caso la forma de imitar el ojo humano es mediante cámarak de video. As;, el brazo de robot podrá moverse dentro del campo de vista de la cámara, siempre que esto sea posible. De esta forma se aumenta la capacidad de movimiento de un brazo de robot, no por que tenga

' I1

I1

I

Ir Capítulo 1 Ji Introducción

mayor capacidad de movimiento en sus dhculaciones, sino porque puede moverse a una diversidad de puntos y no sólb a algunos en los que haya sido previamente programado.

Para potenciar las capacidades de un brazo de robot, éste es relacionado con diferentes sensores. De aquí que los sensoreskson una componente fundamental de un brazo de robot. La cámara que se relaciona con el robot, es uno de estos sensores. En realidad el brazo de robot es relacionado con un sistema de visión, del cual forma parte la cámara. El sistema de v'isión según [Robótica, 19951 lo que hace es analizar, reconocer y aplicar los datos de las imágenes (reconocimiento, navegación, etc.). En este trabajo se está interesado en un sistema de visión, particularmente se realizó un sistema de calidración para un sistema de visión-

II i

robótica. ¡I

I1 A la unión coordinada de un brazo de robot y un sistema de visión se le

denomina sistema de visión-robótica. Para pdder coordinar a ambos se utilizan técnicas de calibración o un sistema de calibrakión. De lo anterior se tiene que, un sistema de calibración en un sistema de visión-robótica, es un sistema de medición el cual coordina los sistemas de referencia entre el sistema de visión y el robótico.

Los actuales sistemas de calibración se implementan de manera particular para un determinado robot y un determinado sistema de visión (ver figura 1.1). Lo anterior significa que, para cada sistema de visión-robótico debe diseñarse, o en su caso implementarse, un sistema de calibración. Lo cual representa un problema para la flexibilidad del sistema de visión-robó(ica, en cuanto a que no se puede usar otra cámara u otro robot que sea diferente pero igualmente funcional.

II

Sistema de robótico calibracióti

Figura 1.1. Relación entre los sistemas de visión y robótico.

La rigidez mencionada, representa un problema ya que el sistema de visión- robótica puede descalibrarse fácilmente. En general, existen tres razones por las que un sistema de visión-robótica puede ser descalibrado:

a) Que el sistema de visión o el I1 robot cambien físicamente pero funcionalmente sigan siendo los mismos.

b) Que el sistema de referencia del robot cambie (es decir que la base del robot cambie de posición).

c) Que el sistema de visión o el robot cambien físicamente y funcionalmente.

II

'I 11 I

11 Capítulo 1 Introducción

I1

11, El problema de calibración para un sistema de visión-robótica se puede

enunciar de hsiguiente forma:

¿Cómo coordinar un sistema de visión y un sistema robótico utilizando un sistema de calibración que sea independiente del sistema de visión y del sistema robótico? 11

por algunos investigadores. A continuación se mencionara la forma en que ha sido resuelto este problema

I1 Desde 1989 varios investigadores han diseñado modelos matemáticos para

resolver el problema de calibración mano-ojo. Matemáticamente el problema de calibración maho-ojo se plantea como AX = XB. Algunos de los investigadores que se han en6argado de resolver el problema son los siguientes:

Shiu y Ahmad [Shiu, 19891 fueron los primeros que formularon el problema de cali6'ración mano-ojo para resolver un sistema de ecuaciones de la siguiente forma: AX = XB, donde X es la transformación desconocida la cual es,,representada por una matriz que contiene una rotación y una traslación. La matriz A representa el movimiento hecho por el robot. La matriz B representa el movimiento relativo al marco de la cámara. Shiu resuelve el problema transformándolo en un sistema .de ecuaciones lineales CY = D, ;;donde Y = (cos&, sen&, ... ,cos/?,, sen A), y C, D son matrices y por último n es el número de posiciones del sistema mano-ojo de las cuales son tomados los datos medidos. En [Tsai!1989] se formula el problema como RfR = RR2 (Rf , R y RZ son matrices'! de rotación. Rf es la transformación que indica el cambio de orientación del efector final del robot. RZ es la transformación que indica el cambio de orientación de la cámara. R es la transformación de orientación de la cámara al efector final del robot) . Tsai usa una representación para la matrizde rotación y resuelve el problema por el método lineal de mínimos cuadrados. Este deriva un algoritmo simple, preciso y exacto. [Wang, 19921 clasifica la calibración mano-ojo en tres categorias y las compara! 'Los resultados de sus experimentos muestran que los resultados de [Tsai, 19891 son.mejores que los de [Shiu,1989]. Usa la representación del movimiento del robot para probar la condición necesaria y suficiente bajo la c%al el problema anterior es solucionado y analiza la unicidad de la solución.' En varios de los métodos mencionados arriba, la rotación y la traslación son separadas y se resuelve primero la rotación y después la traslación', ambos en forma cerrada. [Horaud, '$9951 propone una solución, utilizando optimización no lineal para resolver de manera simultanea la rotación y la traslación.'Los resultados de sus experimentos muestran que su optimización no lineal da el mejor resultado'!al resolver el problema de calibración.

3

s Capitulo 1 1 Introducción

It [Ma, 19961 resuelve el problema con la técnica de misma-calibración, esto es, sin un objeto especial de calibración!) en su lugar se usa un movimiento especial de la cámara (traslación en tres [direcciones ortogonales). [Zhuang, 19941 propone una solución lineal utilizando álgebra de cuaterniones. Encuentra la condición necesaria y suficiente para que la solución sea única. Computacionalmente obtiene un algoritmo el cual no es iterativo, es rápido y robusto. [Dornaika, 19981 propone el modelo Ak = ZB . Donde A, B, X , Z son matrices. A es la transformación del sistema de referencia de la cámara al sistema mundial. B es la transformac/'ón del sistema de referencia del efector final al sistema de referencia:) de la base del robot. Z es la transformación del sistema de referencia, de la base del robot al sistema de referencia mundial. X es la transformación del sistema de referencia del efector final del robot al sistema de referencia de la cámara. En el modelo propuesto, Dornaika concluye que el bétodo de minimización no lineal ofrece mejores resultados. Las incógnitas del modelo se obtienen utilizando cuaterniones y resolviendo simultáneamente para rotaciones y traslaciones como se había hecho en [Horaud, 1995]!/

I1 Estos son algunos de los trabajos de calibración que se han realizado desde

1989. En los trabajos anteriores casi todos coniideran que la cámara se encuentra montada sobre la muñeca del brazo del robot tia muñeca del robot es el eslabón que se une con el efector final (mano) del robot). En [Dornaika, 19981 la cámara no está unida al brazo del robot y obtiene y resuelve un sistema de calibración. Lo anterior se menciona porque en este trabajo s"e diseñó el sistema de calibración tomando en consideración que la cámara no dstá precisamente sobre la muñeca del robot y además está fija.

Como se mencionó en los párrafos anteqores cada uno de los autores de sistemas de calibración ha propuesto su método, pero no han propuesto, desde el punto de vista computacional, una arquitectuta modular donde sea utilizado su sistema de calibración. Además, en la actualidad el sistema de calibración va inmerso en el sistema de visión-robótica, como se puede apreciar en [Garcia, 19981. Lo anterior causa un problema cuando de modifica el sistema de referencia (o se modifica físicamente el robot o el sist$ma de visión) del brazo de robot teniéndose que recalibrar, lo cual resulta costoso. Por otro lado el sistema de calibración que se encuentra inmerso en el sistema de visión-robótica es particular para ese sistema de visión-robótica, es de&, tanto el sistema de visión y el robótico no pueden cambiar física o funcidhalmente sin que el sistema de calibración se vea afectado.

Una de las ventajas de la arquitectura modular propuesta, es que no se tiene que volver a implementar el sistema de calibración para diferentes pares de combinaciones (que cambien físicamente peroique sean igualmente funcionales a los originales) del sistema de visión y robótico,lque se utilizarán en el sistema de visión-robótica. 0tra.ventaja es que al cambiar el sistema de referencia del brazo

1

. . ¡I: i

4

Capítulo 1 Introducción

de robot sólo se tomarán los nuevos valores de los parámetros y se aplicarán en el sistema de calibración para mantener calibrando el sistema de visión-robótico.

I1

Por otro lado se pueden utilizar diferentes sistemas de visión y sistemas robóticos (uno fie cada uno a la vez e igualmente funcionales a los originales), lo que trae una payor flexibilidad al sistema de visión-robótica (en cuanto a que no es necesario usar un Único sistema de visión o sistema robótico).

Por lo anterior, el objetivo general de este trabajo es el siguiente:

Objetivo general

Diseñar e implementar una herramienta de calibración automática basada

I/

i/

en un sistema modular de visión-robótica.

Para lograrl el objetivo anterior, se plantea incorporar la calibración a una arquitectura modular del sistema de visión-robótica, es decir, cada uno de los sistemas (de visión, robot y calibración) estará en diferentes módulos.

1 Se pretende que cada uno de los sistemas (el de visión y el robótico) se encuentre en un módulo y, que la comunicación entre ellos sea a través de interfases. La figura 1.2 muestra la arquitectura modular [Edson, 19991 del sistema de visión-robótica donde se puede apreciar el sistema de calibración.

I/

clor 1 interfase I Módulo integral

I robótico I I Figura 1.2. Esta figura muestra el sistema de calibración en el sistema modular de visión-robótica.

Como se puede apreciar en la figura 1.2, el sistema de visión no esta directamente relacionado con el sistema robótico y viceversa, el sistema robótico no está directamente relacionado el con sistema de visión. Lo anterior permite una mayor flexibilidad en cuanto a que se pueden usar diferentes sistemas de visión y diferentes sistemas robóticos (uno de cada uno a la vez).

Dada la arquitectura modular propuesta y las condiciones del problema (ver capítulo 31, se diseñó e implementó un modelo matemático de calibración para un

I/

ii 5

Introducción Capítulo 1 1 I! sistema de visión-robótica en un sistema computacional, el cual cumplió con los

requisitos de la arquitectura mencionada en losilpárrafos anteriores. '1 I\ El sistema de calibración está inmerso en el módulo integrador y utiliza

interfases [Edcon, 19991 para comunicarse con el brazo de robot y el sistema de visión. El sistema de calibración es independiente de los sistemas de visión y robótico (ver figura 1.2), la independencia principal se refiere a las particularidades del sistema robótico y del sistema de visión. "A pesar de esta independencia el sistema de calibración logra coordinar a amdos sistemas de visión y robótico, cumpliendo de esta forma con el objetivo planteado.

visión-robótica las metas logradas son las siguientes:

1 Después de haber desarrollado el sistema de calibración para un sistema de

! I1

a) Se desarrolló una aplicacion en lenguaje C++ (Builder), que calibra un sistema de visión-robótica utilizando parámetros obtenidos mediante una interfase gráfica.

b) Se diseñó el sistema de calibración, para un sistema de visión-robótica para una arquitectura modular.

c) Se verificaron y se crearon las intekases necesarias para el calibrador con respecto a los sistemas de vision y robótico.

d) Se validó el sistema de calibración y sus interfases. e) Se desarrolló una segunda aplicación en C++ (Builder) que calibra un

sistema de visión-robótica utilizando el método de aproximación polinomial de mínimos cuadrados (der capítulo 4).

;I

1 1 Algunas limitaciones de este trabajo son:

a) AI sistema de calibración no le compete detectar una descalibración. b) No se calibra la cámara a utilizar. La matriz de calibración de la

c) No se desarrolló ninguna actividad experimental.

El contenido de este trabajo se presenta de;la siguiente forma:

En el capítulo dos se describen los componentes de un sistema de visión- robótica. Se da una breve descripción del problema cinemático inverso del robot y del sistema de visión. Por último se deschben los elementos matemáticos necesarios para poder desarrollar un sistema lkde calibración para un sistema de

En el capítulo tres se plantea el problema, y las condiciones necesarias para

visión-robótica.

resolverlo. En el capítulo cuatro se muestra la forma en que se resolvió el problema, y la ecuación que se dedujo al cesolver el problema. También se muestran las formas gráficas del sistema de calibración. Se describen cada una de estas formas y se da una descripción de la manera en que el usuario debe

I cámara se supone conocida.

I1

1

I

Capítulo 1 Introducción

manejar esas formas gráficas. En el mismo capítulo cuatro se muestra un segundo método para calibrar un sistema de visión-robótica.

En el capítulo cinco se mencionan las conclusiones a las que se llegó y se proponen algdnos trabajos futuros, los cuales podrían realizarse como un seguimiento a este trabajo. Por último se incluyen dos apéndices. El primer apéndice describe los parámetros de Denavit-Harienberg. Y, el segundo apéndice trata acerca de cuaterniones y algunas de sus propiedades.

1

1

Capítulo 2 n

I

I!

Sistema de visión-robótica

I1 2.1. Introducción

En este capítulo se presentan los conceptos básicos utilizados en este trabajo. Estos están relacionados con la calibración de una cámara, el robot y la unión de ambos que da domo resultado un sistema de visión-robótica. También se definirán los conceptos 11 matemáticos básicos utilizados para desarrollar el modelo matemático que calibra el sistema de visión robótica, el cual es el objetivo de este trabajo.

2.2. Conceptos básicos del robot Antes de empezar esta sección se aclara que los conceptos mencionados son

tomados de [Robótica, 19951 y en otros casos se hará la referencia pertinente.

En este trabajo sólo se manejan las ecuaciones que representan algunas acciones de un brazo de robot o de una cámara. De acuerdo con [Robótica, 19951 un brazo de robot es un manipulador mecánico cuyos movimientos se controlan mediante técnicas de programación muy similares a las empleadas en control numérico. Como se mencionó al inicio de este párrafo y según [Control numérico,

Capítulo 2 Conceptos básicos

el robot

de un brazo de robot en la figura 2.1 se presenta el modelo T475 con siete grados de libertad con base móvil.

19931 la programación de control numérico pero si le dirá a éste cómo, cuándo y dónde

I1

Figura 2.1. Brazo de robot articulado cod siete grados de libertad, modelo T475. I1

Por otra parte en este trabajo no se está "interesado en mover un brazo de robot en particular, pero si conocer los puntos que éste puede alcanzar con su mano. La mano del robot es conocida como ekector final. AI conjunto de puntos que el robot puede alcanzar con su efector fin!al se le denomina campo (área o volumen) de trabajo del robot.

Por tanto el campo de trabajo del robot dependerá del tipo y número de articulaciones así como del tipo y número de eslabones del mismo. Una articulación permite la unión de dos eslabon,es y al movimiento libre de esa articulación se le da el nombre de grado de libertad.

11: 1 I\ 11

¡I

Existen seis tipos de articulaciones:

'1 Esférica. Planar. De tornillo. Prismática. Rotación. Cilíndrica.

! I

I¡ De aquí que el campo de trabajo del robot'también depende de los grados de

libertad del mismo y, por otro lado el tipo de las articulaciones darán forma a su espacio de trabajo. . I

. . _:<,

Cauítulo 2 I1 Conceutos básicos

Cuando un robot se mueve a un punto dentro de su espacio de trabajo lo hace con cierta precisión. La precisión de estos movimientos se definen en función de tres características. 1 a) Resolución.

,, b) Exactitud. ~ c) Repetibilidad.

A continuación se definirán cada una de las características mencionadas.

ResolÚción: es el incremento más pequeño de movimiento en que el robo! puede dividir su espacio de trabajo.

La resolución depende de dos factores: a) La resolución del control del sistema.

' b) Las inexactitudes mecánicas del robot.

Exadiitud: se refiere a la capacidad de un robot para situar el extremo de su efector final en un punto deseado dentro de su espacio de trabajo.

Repetibilidad: es la capacidad que tiene el robot para posicionar su efector (mano) en un punto cualquiera de su espacio de trabajo el cual se hubiera enseñado con anterioridad al robot.

I . Para este trabajo sólo interesa la característica de resolución'del robot, ya que se puede tenectun punto dentro del espacio de trabajo del robot y aún así el robot no pueda alcanzar ese punto. Esto último no dependerá tanto de la precisión del sistema de calibración que se desarrolló aquí, ya que el sistema de calibración sólo obtiene el punto dentro del espacio de trabajo del robot,' pero no mueve el robot hacia ese punto.

En este trabajo se hizo una animación gráfica del movimiento de un brazo de robot de tres grados de libertad (ver capítulo 3). En esta animación se conocía el punto a donde se quería mover el robot y lo desconocido era la medida de los ángulos entre los eslabones, para que el efector final del brazo de robot alcanzara ese punto. Para realizar lo anterior se tuvo que resolver el problema cinemático inverso del brazo del robot.

El área queise ocupa del estudio del movimiento del robot es la cinemática. En la siguiente sección se describirá el problema cinemático directo e inverso de un robot.

:I

I

10

Capítulo 2 Conceptos básicos

2.2.1. Cinemática del robot I)

\ Los conceptos utilizados en esta sección se!obtuvieron de [Barrientos, 19971 y

La cinemática del robot estudia el movimiento del mismo con respecto a un sistema de referencia fijo. La cinemática se interesa por la descripción analítica del movimiento del robot como una función dell/ tiempo y, en particular, por las relaciones entre la posición y la orientación diel extremo final del robot con los valores que toman sus coordenadas articulares.'!/

en otros casos se dará la referencia correspondiente.

'I En la cinemática del robot existen dos problemas:

a) Problema cinernático directo. b) Problema cinemático inverso. I El problema cinernático directo consiste en determinar cuál es la posición y

orientación del extremo final del robot (con resphto a un sistema de coordenadas que se toma como referencia) conocidos los valores de las articulaciones y los parámetros geométricos de los elementos del robot.

debe de adoptar el robot para una posición y orientación del extremo conocidas.

La figura 2.2 muestra los dos problemas que se presentan en la cinemática del robot, en esta figura se pueden apreciar los $arámetros necesarios para poder pasar de un problema a otro.

El problema cinemático inverso consiste, I en resolver la configuración que 'I

I/ Cinemática directa

coordenadas II orientación del ' articulares (qo, 91, .... s3

il Figura 2.2 Esta figura muestra los parárnetros vecesarios para pasar del problema cinernático directo al problema cinemático inverso.

Un robot se' puede considerar como undi cadena cinemática formada por eslabones unidos entre si mediante articulaciones. Se puede establecer un sistema de referencia fijo situado en la base del robot y, describir la localización de cada uno de los eslabones (estos eslabones tiene un sistema de referencia propio) con respecto a dicho sistema de referencia. De!ysta forma el problema cinemático directo se reduce a encontrar una matriz homogénea de transformación, T, que

I1

'I

Capítulo 2 't Conceptos básicos

relacione la posición y orientación del extremo del robot respecto del sistema de referencia fijo situado en la base del.mismo.

Si a cada eslabón del robot se le asigna un sistema de referencia propio y además se sitúa un sistema de referencia fijo en la base del robot. Entonces, el sistema de referencia de cada eslabón del brazo del robot estará rotado y trasladado conlirespecto del sistema de referencia fijo de la base. Más aún, entre cada sistema de referencia de los eslabones estos se pueden encontrar rotados y trasladados unos con respecto de otros.

De esta forma si la matriz de"transformación desde la base al eslabón uno la denotamos PO? 'A1 y la matriz de transformación desde el eslabón uno al eslabón dos la denotamos por 'Az, entonces la matriz de transformación 'A2 desde la base al eslabón dod'tendría la siguiente forma.

.. 'I

I1

11

11

11 'A2 = 'A,* 'Ai (2.1)

11 (Donde * es la operación de multiplicación de matrices)

Entonces ,para un robot de cuatro grados de libertad la transformación desde la base al último eslabón (la transformación determina la posición y orientación del último eslabón) tendría la siguiente forma:

.I

Y

11

I, 'A4 = *Ai* 'AZ* 'A3* 3A4 (2.2) 11

Para poder ir del eslabón i al (i+l), según Denavit-Hartenberg, se deben de escoger adecuadamente los sistemas de referencia de cada uno de los eslabones del brazo del robot. Además para ir de un eslabón a otro sólo se necesitan cuatro transformaciones básicas que dependen de las características geometricas del eslabón. Estas transformaciones son las siguientes:

I!

a) Rotación alrededor del eje zi.i un ángulo d. Denotada por T(z, @J. b) Traklación a lo largo del eje zi.r una distancia di. Denotada por T(O,O,di). c) Traslación a lo largo del eje xi una distancia al. Denotada por T(ai,O,O). d) Rotación alrededor del eje xi un ángulo ai. Denotado por T(x, ai).

Entonzes la transformación '-'Ai quedaría de la siguiente forma: 'I

11

8) '"Ai = T(z, 9~)T(O,O,d~)T(ai,O,O)T(x, ai) (2.3)

Dond6

91, di.: ai, uI son los parámetros de Denavit-Hartenberg del i-esimo eslabón. T 1)

es una matriz de 4x4. I/

En el apéndice A se describen de forma detallada estos parámetros.

12

Capítulo 2 1 II Conceptos básicos

x . .

Para resolver el problema cinemático direkto, se puede utilizar el algoritmo de Denavit-Hartenberg. Después de aplicar el algbritmo se obtienen los valores de los arámetros de Denavit-Hartenberg y despué's se calculan las transformaciones

"Ai, para posteriormente encontrar la trdnsformación final T = 'An. Esta transformación indica la posición y orientación bel eslabón final del robot.

Hasta aquí se ha dado una descripción breve del problema cinemático directo e inverso'del robot. Como se mencionó en secbiones anteriores el objetivo de este trabajo no es mover un robot en particular. Fer0 con la finalidad de verificar el sistema de calibración obtenido, se realizó una !animación gráfica donde se mueve un robot (ver capítulo 4 para más detalles). Pbra mover tal robot se resuelve el problema cinemático inverso del mismo. En eSta animación se considera que el robot no contiene un efector final. Por otro ladojlel punto a donde se va a mover el robot es obtenido utilizando el sistema de calibración mencionado en el capítulo 4.

En esta sección se vieron los conceptos báticos acerca de robótica los cuales fueron utilizados para tener una visión más amplia y, de esta forma diseñar el sistema de calibración de un sistema de visión-robótica. A continuación se mencionarán los conceptos relacionados con el!,sistema de visión para tener una idea más clara dé un sistema de visión-robótica. I\

I

¡I

ll

¡I 2.3. Conceptos básicos del:\sistema de visión

En seguida se definirán algunos conceptos básicos del sistema de visión los i/ 11

cuales son tomados de [Robótica, 19951.

Un sistema de visión se encarga de detectar e interpretar datos visuales desde una computadora. El sistema de visión está constituido por equipos de digitalización, una computadora y los elementos de software y hardware

'I

necesarios para su interconexión. iI I\ 'I

1 Existen tres funciones principales en el sistema, de visión:

a) Digitalización y detección de datos de la'hagen. b) Procesamiento y análisis de imágenes (reconocimiento del objeto). c) Aplicación (inspección, identificación y navegación).

Un sistema de visión visualiza el espacio de trabajo e interpretar lo que ve. Por esta razón, un Sistema de visión se puede emplear en el campo de la robótica para realizar tareas de inspección y reconocimientb de piezas. Para visualizar'el espacio de trabajo se pueden utilizar una o más cám,aras de video.

En este trabajo no se utilizó una cámara específica ya que el objetivo es obtener un sistema de calibración genérico, tampoco se hace un'procesamiento y análisis de las imágenes. Lo que interesó fue la forma en que una cámara puede

¡I

i\

13

Capítulo 2 Conceptos básicos

11 mapear puntos desde la realidad al plano imagen de la misma, el cual es desplegado sobre la pantalla de una computadora. Una vez que se comprende el mapeo que realiza la cámara éste puede ser utilizado en el sistema de calibración el cual es uno de los objetivos de este trabajo.

Para comprender el mapeo realizado por una cámara es necesario saber los valores de sus parámetros. En la siguiente sección se describen estos parámetros.

2.3.1. Parametros de una cámara

En la calibración de una cámara se obtienen los valores de dos tipos de parámetros; los ,internos y los externos. Los parámetros internos son: los factores de escala de la imagen (a lo largo de los ejes u y v de la imagen), el centro de la imagen, la distancia focal y el ancho y alto del plano imagen. Los parámetros externos de la cámara son: la rotación y traslación de la cámara con respecto a un sistema de referencia fijo. En la figura 2.3 se muestran los parámetros internos. En esta figura se pUede apreciar la distancia focal (0, el centro de la imagen ( ~ 0 . ~ 0 ) y la escala (ku, k,) a lo largo de los ejes u y Y respectivamente.

11

11

, ,..' eje óptico

,..' .>'

:/

11 Sisi. de referencia del plano imagen

I!

I1

1

11

I1

Figura 2.3 Esta figura muestra los parámetros internos de una cámara.

Los valores de los parámetros internos y externos se obtienen al calibrar la cámara. En [García, 19981 se puede ver una forma de calibrar una cámara, pero en este trabajo se toma como conocida la calibración de la cámara y por tanto

14

Cauítulo 2 Conceptos básicos

externos de la siguiente forma:

I

(2.4)

I

Res una matriz de rotación de 3x3. T es una matriz de trasiación de 3x1.

2.4. Sistema de calibracióh En esta sección se definirá lo que es un siltema de calibración, utilizando los

conceptos previamente definidos. Antes de 1 entrar a definir un sistema de calibración (para un sistema de visión-robótica) veamos que es un sistema de visión- robótica. I

Un sistema de visión-robótica es la unión d i un sistema de visión y un sistema robótico. En la figura 2.4 se muestra un sistema de visión-robótica. En esta figura se puede ver que a cada sistema (de visión y rdbótico) se le asigna un sistema de referencia propia. También se puede observar un sistema de referencia fijo que es el sistema de referencia mundial. AI sistema de visión-robótica mostrado en la figura 2.4 se le denomina mano-ojo ya que éste consta de un brazo de robot (mano) y una cámara (ojo). n

Capítulo 2 Conceptos básicos

SM: Sistema mundial SR: Sistema del robot SC: Sistema de la cámara

I

j

sc

Figura 2.4. Esta figura muestra un sistema de visión-robótica mano-ojo, los sistemas de referencia correspondientes y las transformaciones necesarias para mapear puntos desde uno a otro. Las transformaciones son A, B y 2. Cada transformación toma como dominio el conjunto de puntos del sistema de referencia donde inicia la flecha y como codominio el conjunto, de puntos del sistema de referencia apuntado por la flecha.

Para coordinar un brazo de robot y una cámara se necesita un sistema de calibración. Segú,n [Diccionario,l992] la calibración es la acción de pesar o medir con precisión. Aqui, calibrar es coordinar de forma precisa los: movimientos del robot con lo que ve la cámara. Por otro lado, lo que se plantea en este trabajo es que al seleccionar puntos desde una imagen (la cual se encuentra desplegada en una computadora y es obtenida con una cámara digital), estos puntos puedan verse desde el sistema de referencia base del robot (ver figura 2.4) para que posteriormente el brazo del robot pueda moverse de manera precisa hacia ese punto si es que así se desea. De esta forma es como se desarrolló el sistema de calibración.

Cuando se tiene un cuadro (la imagen) del video de una: cámara se está suponiendo que ' la cámara ha realizado un mapeo de un espacio en tres dimensiones a un. plano imagen que en este caso es el cuadro y se ha desplegado en la pantalla de,: la computadora. Se puede seleccionar un punto del cuadro del video y mapear ese punto al sistema de referencia del robot, con la finalidad de que el robot pueda moverse a ese punto si esto es posible. En otras palabras, el robot podrá moverse a los puntos que la cámara puede ver (si es que estos pertenecen al campo de trabajo del robot). De esta manera se dice que el sistema de visión-robótica está calibrado.

De lo anterior se obtiene la siguiente definición de un sistema de calibración

Un sistema d e calibración en un sistema de visión robótica, es un sistema de medición el cual 'permite mapear puntos entre los sistemas de !referencia de un sistema de visión-robótica.

! para un sistema de visión-robótica: I/

16

Capítulo 2 Conceptos básicos

~1

sistema de calibración de robótica

I1 En esta sección y en otras anteriores sf mencionaron las transformaciones, dominios, codominios y mapeos de puntos, por lo que en la siguiente sección se

poder desarrollar el modelo de un sistema modular de

definirán los conceptos matemáticos matemático correspondiente al sistema de visión robótica.

un sistema de visión-

Antes de iniciar esta sección se aclara que los conceptos mencionados aquí se obtuvieron de [Barrientos, 19971, en otros casos se hará la referencia correspondiente.

A continuación se darán los conceptos básicos empleados para para un sistema de

orientación de un

desarrollar el modelo matemático de un visión robótica.

Se empieza describiendo objeto rígido en el espacio. Se homogéneas y su importancia en la representación de la de un objeto rigido en el espacio. Por último se describirán los cuales son una herramienta útil para disefiar un modelo en los sistemas de visión robótica.

2.5.1. Representación de la posición

Para localizar un cuerpo rígido en el esyacio es necesario localizar cada uno de sus puntos en tal espacio. Para este caso se requieren tres componentes independientes x, y y z, es decir cada punto en el espacio estará representado por (x, y, z). Existen otros métodos para representar un punto en el espacio, algunos métodos son los siguientes: coordenadas polares para dos dimensiones y coordenadas cilíndricas y esféricas para un dspacio de tres dimensiones.

Dado lo anterior, si se quiere conocer la posición espacial de la cámara ésta puede ser representada por un punto (xc, yc! zc), de forma similar se puede hacer para el robot. En las siguientes seccioneb se hablará más acerca de cómo

~l .

! 1 . .

manejar la posición y orientación conjunta.

2.5.2. Representación de la

Además de indicar la posición medio de tres componentes independientes, es necesario indicar la orientación del objeto con respecto a un sistema de referencia fijo. En el caso de un robot o de una cámara no sólo es

'I

Capítulo 2 // Conceptos básicos

necesario indicar cuál es su posición, también es importante indicar cuál es su orientación con respecto de un sistema de referencia fijo.

I La orientación en el espacio tridimensional viene dada por tres componentes linealmente independientes. Para describir la orientación de un objeto con respecto a un sistema de referencia fijo, se asigna al objeto un nuevo sistema y después se estudia la relación espacial que existe entre ambos sistemas. En seguida se verá como representar la Orientación de un objeto haciendo uso de matrices. i

2.5.3. Rotaciones y matrices de rotaciones

Las matrices de rotación son el método más extendido para la descripción de orientaciones, debido a la comodidad que proporciona el uso del álgebra matricial.

En tres dimensiones cada rotación se hace con respecto a un eje, es decir la rotación se puede hacer con respecto al eje X, al eje Y o al eje Z. Para cada rotación se definirá una matriz de rotación.

I1 .

La matriz de rotación alrededor del eje Xpor un ángulo aes la siguiente:

R(x, a) = O cos a -sen a i' O sen a cos a

La matriz de rotación alrededor del eje Y por un ángulo @es la siguiente:

I/ (2.5) " I O

1 O sen 0 (2.6)

-sen 0 O cos 0

eje Z por un ángulo #es la siguiente:

cos # -sen # 4 cos 4 :j c(z,o)=, O 1

(2.7)

Se pueden realizar composiciones de rotaciones, tal como rotar un ángulo a alrededor del eje X, luego rotar un ángulo @alrededor del eje Y y por último rotar un ángulo #alrededor del eje Z. Lo anterior puede ser observado en la figura 2.5. La matriz de rotación final sería una multiplicación de las tres matrices de rotación básicas en el orden en que se pide la rotación. De esta manera la rotación final quedaría como sigue:

Capítulo 2 Conceptos básicos

Z II

I1 Figura 2.5. En esta figura se muestra el resultado de rotar el sistema de referencia O U W alrededor del eje Z un ángulo 4, después rotar alrededor del eje Y un ángulo B y por último rotar alrededor del eje X un ángulo a. El resultado es el sistema de referencia OU'V'W'. !

¡I No es lo mismo realizar una rotación alrededor del eje X y después una rotación alrededor del eje Y, que realizar

R(x, a) R(y, 4) f R(Y, 4 ) R k

rotación alrededor del eje Y y

(2.9)

Esto ultimo también.10 confirma la no conmutatividad del producto de matrices.

Las rotaciones son aplicadas dentro del $¡sterna de calibración de la siguiente forma: puesto que a la cámara o el robot se le asocia un sistema de referencia propio, estos sistemas de referencia pueden ;estar o no rotados con respecto a un sistema de referencia fijo. Por ejemplo, si e(, sistema de referencia de la cámara está rotado, esta rotación puede ser representada como una multiplicación de matrices, como se observa en (2.5) y, el resultado de esa multiplicación es una matriz que representa la transformación necesaria para mapear puntos desde el sistema de referencia fijo, al sistema de referencia de la cámara. Por esta razón es que las rotaciones son necesarias en el sistema de calibración.

Hasta aquí se han visto la forma de representar la posición y orientación de un objeto de manera separada, en la siguiente sección se verá cómo se pueden representar ambas de manera conjunta.

después una rotación alrededor de1.X.

I!. . . 11

I/

2.5.4. Matrices de transformación

Para representar una orientación se utiliza una matriz de rotación y para representar una posición se utiliza un vector en tres o en dos dimensiones, pero ¿cómo representar la orientación y la posición en una sola matriz? Las coordenadas homogéneas son Útiles para poder representar la posición y orientación de un sólido de manera conjunta. Por la razón anterior las

II . .

~l

Conceptos básicos 1 Capítulo 2

I¡ coordenadas homogéneas son importantes en este trabajo ya que se utilizan para representar la posición y orientación del robot, asi como la posición y orientación de la cámara.

La representación mediante coordenadas homogéneas de la localización de un sólido en un espacio n-dimensional se realiza a través de coordenadas en un espacio (n+7) dimensional. Es decir un vector p(x, y, z) es .representado en coordenadas homogéneas de la siguiente forma p(wx, wy, wz, w), donde w tiene un valor arbitrario y representa un valor de escala.

La matriz de coordenadas homogéneas se define en función de las coordenadas homogéneas. Una matriz de transformación homogénea T es una matriz de dimensión 4x4 que representa la transformación de un vector de coordenadas homogéneas de un sistema de referencia a otro. La matriz T tiene la siguiente forma: It

!

(2.1 O)

Escalado

Traslación I/ ,, P3xg = [Rotación

T = WlXl O

En este trabajo se utilizaron las matrices homogéneas para representar las transformaciones’hecesarias en el sistema de calibración obtenido. Además de las matrices existe otra forma de representar una rotación y posición que es mediante cuaterniones. En la siguiente sección se dará una breve descripción de los mismos. !j

I/ 2.5.5. Cuaterniones

Los cuaterniones son de gran utilidad ya que reducen el tiempo cornputacional [Barrientos,l997]. Para este trabajo y debido al modelo matemático empleado no se ve un gran ahorro computacional, esto es por que la cámara está fija y no se requerirá calculadvarias rotaciones de la misma. Aún asi el modelo de calibración también fue resuelto con cuaterniones. Para ver más detalles acerca de cuaterniones consultar el apéndice B.

En seguida se dará una descripción de los cuaterniones así corno sus i operaciones más comunes.

11 Los cuaterniones son números hipercomplejos, así un cuaternión Q se define de la siguiente forma.

!I

Kq = a + bi +cj + dk (2.1 1)

20

Capítulo 2 Conceptos básicos

Donde k& es un vector unitario.

I qo = COS(B /~ )~ ql = k,sen(e/2) q2 = ky sen(@/?) q3 = kz sen(e(2)

(2.16) (2.17) (2.1 8) (2.19)

I Aquí Q también puede ser utilizado para realizar una rotación. Donde el eje de rotación lo indicaría (kx, k,, kJ y se estaría girando un ángulo t? Dado un vector r E d se puede convertir en un cuaternión puro rn, de tal forma que m = (0,r). Entonces para rotar un vector r alrededor ddi eje (kx, k,,, kJ se aplica la siguiente operación Q7O;To;r) 'p.. Donde O indica lh operación de multiplicación de cuaterniones y Q' es el cuaternión conjugado1 de Q.

Para realizar una composición de dos rotaciones se aplica la siguiente operación Q2fQifO,TO,r)Q*, )" 0.2 (se debe de tener cuidado ya que los cuaterniones no son conmutativos). Como se puede observar la rotación se

Capítulo 2 Conceptos básicos

II reduce a una multiplicación de cuaterniones. Se procede de manera similar cuando se quiere realizar una composición de n rotaciones.

Por otro lado SI un sistema de referencia OXY2 se le aplica una traslación p seguida de una rotación Q da como resultado una nuevo sistema O U W . Entonces dado un vector conocido en O U W , rouw, para que pueda ser visto desde el sistema"0XYZ se aplica la siguiente transformación:

l .

(f,rowvz) = Q "(O,rouw) Q' + ( 0 , ~ ) (2.20)

Como se mencionó en la sección anterior las matrices homogéneas son bastante útiles para representar la posición y orientación de manera conjunta. Por esta razón es nekesario tener una relación entre 10s cuaterniones y las matrices homogéneas. El paso de cuaterniones a la matriz de transformación homogénea y viceversa, se puede deducir utilizando el eje y el ángulo de rotación. Las relaciones son iaS siguientes:

transformación hohogénea que representa una rotación es la siguiente: Relación directa: dado un cuaternión Q = (90, qj, 92, 93) su matriz de

I Relación inversa: dada la matriz de transformación homogénea obtener cada uno de los componentes del cuaternión. Se puede obtener fácilmente igualando la traza y los elementos de la diagonal principal de la matriz T con los de la siguiente matriz homogénea, de rotación:

Rot = I)

O 0 0 I

Para obte'ner:

(2.22)

(2.23) 11 (2.24)

(2.25) (2.26)

Como se ha ,visto en esta sección los cuaterniones permiten realizar operaciones de rotación y traslación. Por esto, los cuaterniones son útiles en un

I) 22

Capítulo 2 II Conceptos básicos

~t 11

sistema de calibración. Es decir; los cua)erniones se pueden utilizar para representar una rotación o traslación del sistepa de referencia de la cámara o del robot y transformar puntos desde un sistema a otro.

Para calibrar un sistema de visión-rybotica también se puede utilizar aproximación polinomial. En la siguiente sección se describirá un método de aproximación polinomial.

I1 , .

I1 2.5.6 Aproximación polinomial utilizada en un sistema de visión-

Los conceptos mencionados en esta sección fueron obtenidos de [Luthe, 19881

robótica ! y en otros casos se hará la referencia corres&ndiente.

It ~I En la aproximación polinomial dado un conjunto de puntos (xi, y:) ( i = 7 ... n

donde n pertenece a los números naturales) se busca un polinomio el cual se acerque lo más posible a esos puntos. Para rfalizar lo anterior, se puede utilizar el método de mínimos cuadrados, el cual se describe en la siguiente sección.

2.5.6.1 El método de mínimos CI

Como se mencionó en los párrafos ante yi) se quieren obtener los valores de los coei

y = f(x) = aOxo + alx' + a2x2

Para realizar lo anterior se empezará residuo Ri es la diferencia entre las abscisas

Ri = f(&)-yi

De otra forma se tiene:

O 1 2 Ri = aOxi + alx, + a2& + ... 4

Donde i = 7, 2, ..., n

El método de mínimos cuadrados cor coeficientes de la función es decir ao, al, i esos coeficientes es que la suma de los cui decir, minimizar la siguiente expresión:

23

I Yados iores dado un conjunto de puntos (xi, hentes de la función:

... + amxm (2.27)

lefiniendo lo que es un residuo. Un yi y f(xd entonces se tiene que: I

, (2.28)

amxi'" - yi (2.29)

jiste en obtener los valores de los Z, ... , a,,,. La condición para obtener Irados de los residuos sea mínima es

:. , I

! Conceptos básicos I1

Capítulo 2 ; I1

C (Ri) - .~ . . .

n ; n 1 2 -

i= 1 i=l

(2.30) C ( sox? + alxi"+ a2x: + ... + amRm -

1 . Para minimizar la expresión anterior se obtienen las derivadas parciales con respecto a a, y, se iguala a cero. Como se muestra a continuación

I! "

a/aaj (aoxio + al%' + a d + ... + amxi"' - yi)' = O (2.31) It

i=l

Derivando Le obtiene lo siguiente:

i:

I1

1 (sox: + alxil + a2x: + ... + amRm - yi) xl = O i= l

Tomando j , = O, 7,2, ... , m se tiene lo siguiente: I!

= cyi

aZxi' + alCxi2 + a2Cx? + ... + amcXimt1 = cyi xi

adCxi2 + + a2cxi4 + ... + amcxim+2 = cyix:

1 nao + alxxi' + a2Cxi2 + ... + amXx? I

(2.32)

(2.33)

I/

I/ aOcxlm + alCx,"'+' + a2xxi"'+2 + ... + amCx,"'+m = cy, x,"'

En (2.33) se han omitido los limites de las sumatorias pero se supone que el

En (2.33) lab incógnitas son al para 1 = O,í, ..., rn, por tanto se resuelve el sistema de ecuaciones lineales y se encuentran las ai. Una vez hecho lo anterior la función que mejor se aproxima al conjunto de puntos (XI, y/) seria

limite inferior es"i=7 y el limite superior es i=n.

I/

f(x),= aOxo + alx' + a2x2 + ... + amXm (2.34) I1

Este método de regresión lineal se utilizó para calibrar el sistema de visión- robótica. Es decir, si se relacionan los puntos de la imagen de la cámara con puntos del robot: se puede utilizar este método para calibrar el sistema de visión- robótica. En el capítulo 4 se dan más detalle acerca de esta solución.

I1

I!

I!

24

Conceptos básicos Capítulo 2

I1 Hasta aqui Se han descrito los conceptos dasicos utilizados en este trabajo,

otros conceptos son descritos en los apéndicls A y B de este texto, para una mejor comprensión del mismo. 11

I!

Capítulo 3

Análisis del sistema de calibración para un sistema modular de visión- robótica

1 I

li I

3.1. Introducción En este I capítulo se plantea y analiza el problema de calibración para un

sistema modular de visión-robótica (SMVR). Se verán los elementos del problema y cómo agruparlos para tener una visión clara del mismo. Además se dan las condiciones necesarias para obtener el sistema de calibración de un sistema modular de iisión-robótica (SCSMVR).

3.2. Descripción del problema de calibración 11 Como se mencionó en el capítulo 2, un SCSMVR, es un sistema de medición

el cual coordina l,os sistemas de referencia entre el sistema de visión y el robótico.

26

Capítulo 3 I'lantcamicnto y análisis del problema

Los actuales sistemas de calibración se crean 1 de manera particular para un determinado robot y un sistema de visión específico (ver figura 3.1). Lo anterior significa que, para cada sistema de visión-robótica (SVR) debe diseñarse o implementarse un sistema de calibración, lo cub1 representa un problema en la flexibilidad del sistema (SMVR), en cuanto a qke no se puede usar otra cámara u otro robot que sea diferente pero equivalente funcionalmente.

Sistema de

calibración robótico I

L 'I 11 Figura 3.1, Relación entre los sistemas de visión y robótica.

La rigidez mencionada representa un problema ya que el (SVR) puede descalibrarse fácilmente. En general existen tres' razones por las que un (SVR)

II

puede ser descalibrado: ~

!I1

posición). I. ~l

Que el sistema de visión Ó el robot cambien físicamente pero funcionalmente sigan siendo los mismos. Que los sistemas de referencia del robot Ó el sistema de visión cambien su origen u orientación (es decir que el sistema de visión o el robot cambien de

Que el plano donde se posiciona el efector del robot cambie de posición. Que el sistema de visión Ó el robot cambien física y funcionalmente.

Por IO anterior, en la siguiente sección se andiizan las partes que integran un

Ij

(SVR) con el objetivo de obtener un sistema de cal/bración '!

3.3. Análisis de un sistema de visión-robótica 11 1 En esta sección se analizará el problema de/lcalibración para un (SVR). Es

decir, se estudiarán cada una de las partes que integran el (SVR) y, por último, se analizará el problema de calibración. Como se mer@¡onó en el capitulo 2 un (SVR) está formado por un robot y una (o varias) cámaa(s), por lo que para poder calibrar un (SVR) se tiene que calibrar la cámary y obtener sus parámetros de calibración. Con lo que, respecta al robot se tienen que obtener sus parámetros de posición y orientación (rotación y traslación). Unaylvez obtenidos los datos de la cámara y el robot, queda un último problema, que;.es: el de coordinar (relacionar sus sistemas de referencia) al robot y a la cámara I$ en otras palabras, calibrarlos.

En este problema se supone conocida la matriz de calibración de la cámara y la matriz que indica la posición y orientación del &tema de referencia del robot.

I

ll

1 27

Capítulo 3 Planteamiento y análisis del problema

.I

La matriz de Calibración de la cámara contiene los parámetros internos, además de la orientacibn y posición de la misma.

La matriz de calibración de la cámara puede ser obtenida conociendo cada uno de los parámetros internos (la distancia focal, el centro de la imagen y la escala de la imagen a lo largo de los ejes u y v) y externos (rotación y traslación del sistema de coordenadas de la cámara con respecto a un sistema de referencia fijo). En lo que respecta a la matriz de transformación del robot, ésta puede ser obtenida conociendo la rotación y traslación de su sistema de referencia de su base con respecto a un sistema de referencia fijo.

En este tijabajo se suponen conocidos cada uno de los parámetros (internos y externos) de ¡a cámara, por lo que se puede obtener la matriz de calibración de la misma (ver sección 2.3.1). También se está suponiendo que se conocen los parámetros del robot y por tanto se puede obtener la matriz del robot.

También se supone que los puntos que ve la cámara (es decir los puntos en 3 dimensiones)" se encuentran en un solo plano y además :la distancia entre la cámara y ese plano es conocida. Esto es importante ya que al conocer esta distancia se puede conocer el punto en 3 dimensiones que corresponde a un punto seleccionado en el plano imagen. Lo anterior se muestra Gráficamente en la figura 3.2.

. .

I/ .

11

1 'I

La cámafia realiza una proyección con perspectiva de puntos de 3 dimensiones a un plano imagen y por lo tanto se pierde información sobre la profundidad. Es decir, sólo se conocerán dos coordenadas del punto en el plano imagen y una coordenada Iserá perdida. Por otro lado, en la proyección con perspectiva hay puntos colineales es decir a varios puntos en 3 dimensiones les corresponderá un mismo punto en el plano imagen al ser proyectados. Lo anterior es debido a que se encuentran en el mismo rayo de proyección.

plano imagen plano de trabajo en 3D

Figura 3.2. Esta figura muestra el plano imagen de la cámara y el plano desde donde se tomarán los puntos (plano de trabajo) que serán proyectados en el plano imagen. f es la distancia focal y p es la distancia desde la cámara al plano de trabajo .

28

I 'I Capítulo 3 qlanteamiento y análisis del problema

II

calibración de una cámara.

3.3.1 Calibración de la cámara ..

de matriz contendrá los parámetros internos ;externos de la cámara. ¡I

sistema de coordenadas mundiales (CCM]

$ li Sistema de coordenadas de la cámara

'!

Figura 3.3. Puntos de correspondencia de un espacio objetivo a un plano imagen.

Capítulo 3 Planteamiento y análisis dcl problenin

Para ve;l más información acerca de la calibración de una cámara en la sección 2.3.1 se definen los parámetros internos y externos de una cámara y se describe la matriz de calibración de la misma.

Puesto que este trabajo trata de un sistema de calibración para un sistema modular de Yisión-robótica, también es necesario analizar lo que hace un robot dentro de este sistema (de calibración). En la siguiente sección se menciona cómo interactúa el brazo del robot dentro de un sistema de visión-robótica.

3.3.2 Análisis de la interacción del robot en el sistema de visi6nkobótica

I/ En esta sección se da una breve descripción del problema cinemático inverso

del robot. Realmente este no es un problema a solucionar en este trabajo, ya que el sistema de calibración, en uno de sus objetivos, sólo entregará un punto que puede ser visto desde el sistema de referencia del robot, para que posteriormente el robot pueda moverse a ese punto.

1)

1 La pregunta aquí es: ¿qué acciones tiene que realizar el robot en un sistema de visión-robótica mano-ojo? La respuesta es: dado un punto que ve la cámara, el robot debe moverse a este punto (sí el usuario así lo desea). Este problema es conocido enlrobótica como un problema cinemático inverso [Barrientos,l997]. En este problema dado un punto en el espacio de trabajo del robot, el efector final del robot se tienk que mover hacia ese punto. Para lograr su meta, el robot acomoda cada uno de sus eslabones hasta llegar a su objetivo. Es decir, los eslabones son puestos en determinados ángulos y desplazamientos para alcanzar el punto deseado, como se muestra en la figura 3.4.

elector del iobot en el punto deseado

Ir . . , . . . posicion inicial

0 Punto deseado P P u n t o deseado

Figura 3.4. Esta figura muestra el problema cinemático inverso con un robot de 2 grados de libertad, donde el robot tiene que acomodar sus eslabones para moverse al punto deseado.

30

!I I/

Capítulo 3 qlanteamiento y análisis del problema I1

Antes de resolver el problema cinemático ,inverso del robot se deben de establecer los sistemas de referencia propios de cada eslabón de acuerdo a las

o por el algoritmo de Denavit-Hartenberg.

Hasta aquí se ha analizado el problema de calibración de la cámara y el problema cinemático inverso del robot [Barrientoi!, 19971 pero no se ha planteado el problema de calibrar el sistema de visión-rodótica mano-ojo. En la siguiente

reglas establecidas en el algoritmo de el problema cinematico inverso puede ser

Después de lo anterior métodos geométricos

sección se analiza este problema. 11 ll 3.3.3. Planteamiento del problema de calibración de

un sistema modular de visión-robótica I

En esta sección se plantea el problema de cómo calibrar un sistema de visión- robótica mano-ojo. En la figura 3.5 se presenta este problema de manera gráfica.

La definición de un sistema de calibración que se dio en el capítulo 2 es la siguiente: un sistema de calibración en un sis/ema de visión-robótica, es un sistema de medición el cual coordina los sistemas de referencia entre el sistema de visión y el robótico.

'I Ill

11

SM: Sistema mundial 1 SR: Sistema del robot

SC: Sistema de la cámara / I t !I

Figura 3.5. Esta figura muestra las transformaciones que se tendrían que realizar para crear un sistema de calibración para un sidttema de visión-robótica mano- ojo.

De acuerdo con esta definición el sistema db calibración tiene que mapear puntos desde un sistema de referencia a otro, para que, los puntos vistos desde un sistema de referencia sean vistos por otro ?.¡&tema de referencia de manera equivalente. Por lo anterior, el problema de calibr&ión para un sistema de visión- robótica se puede enunciar de la siguiente forma: I/

sean vistos de manera equivalente desde el sistema de referencia del robot? ¿ Cómo hacer que, puntos en la realidad qub son vistos por una cámara

Capítulo3 I( Planteamiento y análisis del problema '! . .

En la figura 3.5 se pueden observar las transformaciones que fueron necesarias para obtener el sistema de calibración desarrollado en este trabajo. Aquí las transformaciones conocidas'son A (matriz de calibración de la cámara) y B (orientacióh y posición del sistema de referencia del robot).La transformación a conocer es 2, que puede ser encontrada utilizando álgebra de matrices ó álgebra de cuaterniones. Experimentos previos a este trabajo [Dornaika, 19981 han demostrado que el uso de cuaterniones es mejor que el uso de matrices.

el problema formulado quedaría de la siguiente forma.

visión-robótica calibrado?

sección. II

Por otro lado, como se quiere calibrar un sistema de visión-robótica genérico, I

¿Dado un robot y una cámara cualesquiera cómo obtener un sistema de

Este problema fue resuelto bajo las condiciones expuestas en la siguiente

3.3.4 Condiciones bajo las que se desarrolló el sistema de calibración para un sistema modular de visiÓn-rolbótica (SCSMVR)

11

En esta sección se mencionarán las condiciones que se tomaron en cuenta para desarrollar el (SCSMVR). En la figura 3.6 se pueden observar cada una de las condiciones del problema.

Las conbiciones son las siguientes:

La cámara se encontrará precisamente por encima del robot y su lente estará observando al robot. Se supondrá que los puntos proyectados por la cámara provienen de u:n solo plano como se puede ver en las figuras 3.2 y 3.6. El efector final del robot tendrá como destino, puntos que se encuentran en un solo plano. Este plano cortará de manera perpendicular al eje focal de la cámara. El plano donde se puede mover el robot puede ser desplazado para acercarlo o alejarlo a la lente de la cámara, de esta forma se cubrirá un ekpacio de trabajo tridimensional y no sólo un plano. Ei plano de trabajo del robot será perpendicular al eje focal de la camara. Este plano estará determinado en el sistema de referencia de la cámara por la ecuación z = p, donde p será conocido. El sistema de calibración se comunicará con el sistema de visión y el robótico a través de interfases. !I '

Capitulo 3 Planteamicnto y analisis del problema

A A

'.. .....,, '. ......, E p(ano:de trabaio del robo y, desplaza ble.

I !I Figura 3.6. Esta figura muestra las condiciones fiel problema. Donde la cámara

está precisamente arriba del robot. También se yuestra el plano de trabajo del robot el cual es desplazable como lo muestran las flechas. f denota la distancia focal, p es la distancia desde el sistema de referdncia de la cámara al plano de trabajo del robot, este plano, aunque es el plano de trabajo del robot, está determinado en el espacio de trabajo de la cámara y tiene la ecuación z =p.

En este capitulo se planteó el problema de calibración para un sistema modular de visión-robótica, primero de una manera particular y después de una forma general. También se han dado detalles de {ada uno de los problemas y las condiciones para poder resolverlos. En "el siguiente capitulo se retorna cada uno de los problemas y se les da solución.

l .

1;

33

capítulo 4

Desarrollo de un sistema de calibrhción t para un sistema modular de visión-robótica (SCSMVR)

4.1 Introducción I En este capítulo se muestra la solución al problema de calibración de un

sistema modular de visión-robótica (SMVR) genérico. Se presenta el modelo matemático obtenido para calibrar un (SMVR) y la forma de resolver este modelo. Una vez que se obtuvo la solución, se implementó el programa que permiten calibrar un (SMVR). También se muestra el método de calibración utilizando aproximación polinomial. Para este último método se implementó un programa, el cual también1 se describe en este capítulo. Por último se muestran las interfases gráficas de los programas que permiten realizar la calibración.

34

Capítulo 4 Sistema de calibración

!I 4.2 solución general del problema

En el capítulo 3 se enunció el problema a rejplver en este trabajo, el cual es el siguiente:

manera genérica; Es decir, utilizando cualquier robot y cualquier cámara? ¿Cómo hacer la calibración de un sistema de visión-robótica de una

Antes de solucionar este problema, se d<)Je de resolver el problema de comunicación entre el robot y la cámara, como se hizo en [Edson.1999], donde se utilizan interfases entre el robot y la cámara para poder comunicarse entre si (ver figura 4.1). En la figura 4.1 se presenta la arquitectura distribuida de un sistema modular de visión robótica. Esta arquitectura se utiliza para formar sistemas de visión-robótica de una manera simple.

Módulo intebrador

Sistema 1 de visión robótico

.¡I Figura 4.1. Esta figura presenta gráficamente la arquitectura distribuida para poder armar sistemas de visión robótica de una manera sencilla.

Después de resolver el problema de comunic$ción entre el robot y la cámara queda el problema de calibrarlos, es decir coordinar a los sistemas de referencia del sistema de visión y del sistema robótico. Parabalibrarlos se toma en cuenta la arquitectura propuesta.

Un (SCSMVR) permitirá que, puntos vistos desde el sistema de referencia de la cámara sean vistos de manera equivalente en el sistema de referencia del robot.

En otras palabras la cámara mapea puntos besde el sistema de referencia mundial (el cual está fijo) a su sistema de referencia, para posteriormente proyectarlos en un plano de visión. Este.plano de,'hsión es el que será visto en la pantalla de la computadora como se muestra enl la figura 4.2. Si algún usuario selecciona un punto desde la pantalla de la computadora este punto debe ser mapeado al sistema de referencia del robot y. posteriormente el robot se podrá o no mover sobre ese punto. Esto último dependerállde si el usuario quiere mover el

I1

I

I/

'l.

efector final del robot a ese punto y, tambikn si punto está dentro del campo

il

35

Capítulo 4 11 Sistema de calibración

de trabajo del robot. Se aclara que 'en este trabajo no se resolvió el problema cinemático directo o inverso del robot.

Por otro lado, de acuerdo a las condiciones del problema (mencionadas en el capítulo 3) la cámara mapeará puntos que se encuentran en un sólo plano, además la dbtancia desde la cámara al plano es conocida. Lo anterior simplifica el problema de reconstruir un punto tomado del plano de visión y obtener sus coordenadas en 3 dimensiones con respecto del sistema de referencia de la cámara (SC). Esto es porque no se tendrán puntos colineales durante la proyección. Una vez que se tiene el punto en 3 dimensiones dentro del SC, este puede ser mapeado al sistema de referencia mundial (SM) Ó al sistema de referencia del robot (SR).

/I I

n

visto en la computadora / A

Figura 4.2. En esta figura se presenta la forma en que se comunican el robot y la cámara. También se puede ver el flujo de la información. La cual va desde el mundo de la realidad a la cámara y de ésta a la computadora y desde la computadora se le puede decir al robot a que punto moverse Ó solo indicar el punto deseado.

1 Dada laldescripción y la condición anterior se procederá a resolver el problema

de calibrar un (CMVR). El sistema de calibración consistirá en una ecuación la cual contendrá las transformaciones necesarias para mapear puntos desde un sistema de referencia a otro. Como se muestra en la figura 4.3.

Y

I Capítulo 4

4

Sistema de calibración

SM: Sistema mundial SR: Sistema del robot SC: Sistema de la cámara

sc

i Figura 4.3. En esta figura se muestran las transformaciones necesarias para poder mapear puntos desde un sistema de referencia dl' otro y de esta forma obtener el sistema de calibración para el sistema modular delvisión-robótica.

I1

I

En la siguiente sección se describe la forma en que se obtuvo el modelo I( matemático para un (SMVR).

4.3 Modelo matemático para un sistema de calibración de un sistema modular de visión-robóha (SCSMVR)

Como se mencionó en el capítulo 3 el a resolver es el siguiente:

¿Cómo hacer que puntos en la realidad que son vistos por una cámara sean vistos de manera equivalente desde e l de referencia del robot?

Y también:

manera genérica; es decir, utilizando cualquier. robot y cualquier cámara?

i

¿Cómo hacer la calibración de de una

La figura 4.4 muestra las transformaciones para poder mapear puntos desde un sistema de referencia a otro. Para poder obtener un modelo matemático de calibración de un sistema de visiónrrobótica, se requiere establecer sistemas de referencia para cada uno de los componentes del tal sistema. Por lo anterior se necesita un sistema de referencia !para el robot, un sistema de referencia para la cámara y un sistema de referendia fijo o mundial.

! 37

1 Capítulo 4 Sistema de calibración

SM: Sistema mundial SR: Sistema del robot SC: Sistema de la cámara

Figura 4.4. Esta figura muestra las transformaciones lineales necesarias para poder cajibrar el sistema de visión-robótica, más conocida como calibración mano- ojo. A es la transformación del SM al SC. B es la transformación del SR al SM y 2 es una transformación del SR al SC.

Para obtener el modelo matemático de un sistema de calibración para un sistema de visión-robótica, se procede como sigue:

De la figura 4.4 se observa que para ir de la base del robot a la cámara se necesita la tkansformación 2. También existe otro camino para llegar al mismo punto. El camino es: ir desde la base del robot al sistema de referencia mundial (a través de la transformación B) y desde este al sistema de referencia de la cámara (a través de la transformación A). Se hace notar que el eje z del sistema de referencia de la cámara coincidirá con el eje de la lente de la cámara.

II

I1 De acueqdo con el párrafo anterior, la ecuación para el sistema de calibración para este sistema modular de visión-robótica es la siguiente:

Z = A B (4.1)

Como se puede observar en la figura 4.4 los sistemas de referencia SC, SR y el SM son !/subespacios de d. Pero debido a que se está trabajando con coordenadas homogéneas, a los sistemas de referencia se les agrega una dimensión. Por esto, los dominios y codominios de cada una de las transformaciones lineales son subespacios de d.

Para la transformación lineal i?

El dominio de la transformación lineal Z son puntos en el sistema de referencia de la base del robot. El codominio de Z son puntos en el sistema de referencia de la cámara.

n

I

I Cauítulo 4 1 Sistema de calibración

Para la transformación lineal A: I .

I Para la transformación lineal B:

El dominio de la transformación lineal B son Luntos en el sistema de referencia de la base del robot. El codominio de B son pdntos en el sistema de referencia mundial (sistema de referencia fijo). 'I

I De lo anterior se tiene que:

Z: R4+ R4 A: R4+ R4 B: R4+ R4

II Como se puede observar en la figura 4.4. la transformación lineal B mapea

puntos desde un sistema de referencia del robotbl sistema de referencia mundial el cual es fijo. La transformación lineal A mapea puntos desde el sistema de referencia mundial al sistema de referencia [de, la cámara. Por Último, la transformación lineal Z transforma puntos desde el sistema del robot al sistema de la cámara. .!

A continuación se da una descripción de cada una de las transformaciones lineales utilizadas en el sistema de calibración.

4.3.1 Descripción de la lineal que mapea puntos desde el sistema del robot al sistema mhndial

Dado que se requiere un sistema de calibración genérico para un (SMVR), las transformaciones lineales B y A necesitan cumplir ciertas condiciones. Analizando la transformación lineal B se observa que éstaino debe de contener datos de algún robot en particular, ya que el sistema de calibración es para cualquier robot. Por lo anterior la transformación lineal B sólo contendrá la posición y orientación del robot con respecto del sistema de referencia hundial. La razón por la cual no se necesitan datos del robot es que, antes de &ver el efector final de cualquier robot a un punto dentro de su espacio de trabajo,'se requiere conocer ese punto y no las características de ese robot. El problema)de mover un robot a un punto específico, se conoce como problema cinematico: inverso [Barrientos, 19951, pero en este trabajo no se plantea resolver este proble?. Sólo se trata de conocer los puntos que estén dentro del sistema de referencia del robot (estos puntos pueden

I1

I

39 . II

Capítulo 4 Sistema de calibración

o no estar en el espacio de trabajo del robot). Tales puntos se conocerán viéndolos a tiavés de una cámara de ahí que sea un sistema de visión-robótica.

1 La transformación lineal B puede representarse mediante una matriz homogénea de 4x4 la cual tendrá la siguiente forma:

Donde f i b es una matriz de rotación de 3x3, T b es un vector de traslación de 3x1.

La transformación lineal A es similar a la transformación lineal B, sólo que en A, también be toman en cuenta los parámetros internos de la cámara. En la siguiente sección se describe la transformación lineal A.

4.3.2 Descripción de la transformación que mapea puntos desde el sistema mundial al sistema de la cámara

La transformación lineal A también es conocida como matriz de calibración de la cámara, esta matriz contiene los parámetros internos y externos de la' cámara. Los parámetros internos de la cámara son: la distancia focal (r), el centro de la imagen (UO,VO), la escala a lo largo del eje u y la escala a lo largo del eje v del plano imagen. Estos parámetros pueden ser vistos en la sección 2.3.1. Con lo que respecta a los parámetros externos estos se refieren a la rotación y traslación del sistema propio de la cámara con respecto a un sistema de referencia fijo, que en este caso es el sistema de referencia mundial.

'! Para la transformación lineal A, no sólo es conocida la matriz A como tal si no

que también son conocidos cada uno de sus elementos que la forman (es decir sus parámetros internos y externos). De esta manera, dada la matriz A, no será necesario hacer una descomposición de matrices RQ propuesta en [García, 19981, ya que se denen los datos elementales para formar tal descomposición de una manera direla, como se puede ver en (4.6).

Como se mencionó en el capítulo 3, la matriz asociadacon la transformación lineal A tiene la siguiente forma de acuerdo con [García, 19981 y [Faugeras, 19921:

40

II I

41

Cauítulo 4 Sistema de calibración

I/ el plano de trabajo del robot. Además, este plano está definido en el sistema de referencia de la cámara. Por otro lado, este plano es perpendicular al eje Óptico de la cámara y 'baralelo al plano imagen de la misma; como se muestra en la figura 4.5. Para efectos prácticos el plano de trabajo del robot puede ser alejado Ó acercado a la lente de la cámara. De esta forma se cubre un espacio de trabajo tridimensional del robot.

El hecho de conocer la ecuación del plano desde donde se están mapeando los puntos de la realidad al sistema de referencia de la cámara facilita el problema. Ya que no habrá colinealidad de proyección. Es decir, dado un punto en el plano imagen (este plano imagen puede ser visto en la pantalla de una computadora) se puede hace! el proceso inverso de la proyección para determinar a que punto corresponde en el sistema de referencia mundial. I

En otraslpalabras, si no se supiera la distancia entre el plano que corresponde al dominio de la transformación lineal A y el sistema de referencia de la cámara, al seleccionar un punto en el plano imagen de la cámara y querer determinar que punto es el que le corresponde en la realidad sería imposible. Esto último es debido a que todos los puntos (c,, c2, ... ,cn) localizados en el mismo rayo de proyección les corresponde un mismo punto (c,,) en el plano imagen (ver figura 4.5).

4.3.3 SolÜción del modelo matemático para calibrar un sistema de visión-robótica 't

1

calibración es e! siguiente: De acuerdo con la sección 4.3 el modelo matemático del sistema de

(4.8) I Z = A B

La descripción de las transformaciones lineales A y B se dieron en las secciones anteriores. La transformación lineal Z mapea puntos desde el sistema de referencia de robot al sistema de referencia de la cámara. Esta transformación es desconocida. Pero, de acuerdo al modelo matemático dado en (4.8), Z puede ser obtenidd multiplicando las matrices A y E. por esto Z queda de la siguiente forma. I)

I

.-[y k i

O O

u0 vo 1 O 1 I" O (4.9)

Una vez obtenido Z lo que queda es mapear puntos desde el sistema de referencia mundial al sistema de referencia del robot, para de esta forma mover el robot si es que así se desea.

42

Caoítulo 4 Sistema de calibración

qz = qaoqb

I\ En esta sección se resolvió el modelo maiemático de calibración utilizando

matrices, pero también se puede resolver utilizapdo cuaterniones. En la siguiente sección se muestra como se resuelve el modelo de calibración utilizando cuaterniones. II

(4.14)

4.3.3.1 Solución del modelo de calibración utilizando cuaterniones

I En esta sección se presentará la solución' de la ecuación del sistema de

calibración para el sistema de visiÓnhbÓtica,~lutilizando cuaterniones. Esto se realizó para verificar el ahorro computacional ai utilizar cuaterniones. Se aclara que en este trabajo se utilizan matrices!/ para resolver e irnplementar computacionamente la ecuación del sistema de calibración.

li El modelo matemático para el sistema de es el siguiente:

Z = A B (4.10) '11 Utilizando matrices de transformación homogéneas la ecuación (4.1 O) 11 quedaria como sigue: 'I ,I

(4.1 1)

De (4.1 1) se obtiene lo siguiente: ,:

R, = Ra'Rb T, = R,*Tb + T,

(4.12) (4.13)

'I

(4.15)

43

Capítulo 4 Sistema de calibración

(zA,z) = sobo - ab + aob + boa + a x b (4.16)

Donde ”!’ y “x” son el producto punto y el producto cruz respectivamente. Además, “O” indica el producto de cuaterniones.

11 Por tanto, de manera directa se obtiene lo siguiente: I I ZO’= a0 bo - ab

z = aob + boa + a x b

Por otro lado T, puede ser obtenido de (4.13) de manera directa.

(4.17) (4.18)

Una vez obtenido qz = (zo, z) se puede obtener la matriz de rotación que

Sea clz = (ZO, 27 , z2, z3) donde z = (z,, z2, 23) entonces:

representa &te cuaternion, de la siguiente manera, según [Barrientos, 19951. ‘1

(4.19)

De esta forma se han presentado las dos formas de solucionar la ecuación de calibración para el sistema de visión-robótica. En este trabajo se usarán matrices para poder resolver la ecuación del sistema de calibración. Esto es debido a que para este ?.¡&tema de calibración el número de operaciones a utilizar con matrices o con cuatetiones es aproximadamente el mismo.

Sin embargo, los cuaterniones son una herramienta bastante útil ya que el número de cálculos para realizar una rotación con ellos, es mucho menor que los requeridos para realizar una rotación utilizando matrices. Así, si se tiene un sistema de calibración donde la cámara o el robot estén en constante rotación y movimiento se pueden utilizar cuaterniones para disminuir el número de cálculos. Lo anterior ttae como consecuencia que los sistemas de calibración realizados con cuaternionei sean más rápidos al realizar su tarea.

I

En la siguiente sección se presentan las interíases gráficas del programa implementado para calibrar un (CMVR). Este programa hace uso de las ecuaciones mostradas en esta sección y, de esta forma se verifica el sistema de calibración obtenido en este trabajo.

44

Capítulo 4 I1 Sistema de calibración

I1 4.4. Implementación del programa que calibra un sistema modular de visión-robótica I/

También, se da una descripción de la parte del relaciona la cada una de las interfases gráficas.

hodelo matemático con la que se

I ,

Figura 4.6. Esta figura muestra la interface gráfica principal del programa que calibra un sistema de visi6n-robótica.

!I

Capítulo 4 Sistema de calibración

Además, en la implementación del programa se verificó que el sistema de calibración coordinara al sistema de visión y robótico con la condición que estos fueran manejados desde diferentes módulos.

Figura 4.7. Esta figura muestra la manera de obtener las matrices de calibracion desde un archivo.

La figura 4.6 muestra la interface gráfica principal del programa, desde ésta se pueden llamar las otras interfases gráficas del programa. Existen dos maneras Para obtener las matrices de calibración del robot ó de la cámara, las matrices pueden estar en un archivo o pueden ser obtenidas proporcionando los parámetros. IIEn los archivos, además de las matrices también se encuentran los parámetros que van a formar esas matrices. La interface gráfica de la figura 4.6 también muestra el modelo matemático, las matrices de calibración, y la posición y orientación de los sistemas de referencia del robot, de la cámara y del sistema de referencia mundial fijo. El sistema de referencia mundial es un sistema dextrógiro, en el cual el eje L estaría apuntando hacia adentro de la interfase gráfica. Para tener varias vistas de los sistemas se puede seleccionar el botón que tiene como título “vistas de los sist.”

46

Capítulo 4 ' I Sistema de calibración

Una vez que ya se tienen las matrices de ca/libración del robot y de la cámara, se puede seleccionar el botón titulado como "chbrar" y de esta forma obtener la transformación que va desde el sistema de r&ferencia del robot al sistema de referencia de la cámara. Después de que se dbtiene esta transformación lineal, llamada Zen el sistema, se puede seleccionar &alquiera de los botones titulados como "mover robot I" ó "mover robot 2" para &der ver las animaciones gráficas de un robot articulado (RRR) de 3 grados de lib8rtad y de un robot cilíndrico (RLL) de 3 grados de libertad.

desde el sistema principal.

cámara o del robot) se puede obtener desde hn archivo de texto. La forma de hacerlo es mostrarle al usuario un:: cuadro ae dialogo desde donde pueda seleccionar el archivo que contenga la matriz de calibración y los datos de esa calibración. Lo anterior puede ser observado en la figura 4.7.

!I En seguida se describen cada una de las

Como se mencionó en párrafos

gráficas que son llamadas

de calibración (de la

'I

11 Rotación ahededor del ekX Traslaaón enX

11 Rotación alrededor del eje2 Traslación e n 2

I' Figura 4.8. Esta figura muestra la forma de obtener los parámetroc internos y externos de la cámara. 11;

47

. . .. -.. , . , . ,

Capítulo 4 ,, Sistema de calibración

La interfase gráfica mostrada en )a figura 4.8 se utiliza para obtener los parámetros hternos y externos de la cá,mara. Aquí, para hacer la composición de las rotaciones alrededor de los diferentes ejes, se hace primero la rotación alrededor del eje X, luego la rotación alrededor del eje Y, y por último la rotación alrededor del eje Z. Por tanto la rotación puede verse como la composición de las tres rotaciones, es decir R = R(x, a) R(y, 4) R(z, 4. La matriz de rotación R es una matriz de 3x3, ésta puede ser convertida en una matriz de transformación homogénea convirtiéndola en una matriz de 4x4 de la siguiente forma:

li

R ’= [r i

(4.19)

Por otro lado el vector de traslación Tobtenido de la interfase gráfica mostrada en la figura 4.9 puede ser introducido dentro de una matriz homogénea de la siguiente forma:

(4.20)

Donde / ,es la matriz identidad de (3x3). T es el vector de posición de la

Entonces la matriz homogénea O de orientación y posihón de la cámara con

cámara.

respecto al sistema de referencia fijo es la siguiente:

(4.21)

La transformación que corresponde a la cámara primero rota y traslada los puntos de la realidad y luego los proyecta a un plano imagen. Por esta razón y tomando en cuenta los parámetros internos de la cámara, la matriz de calibración de la cámara quedaría como sigue:

(4.22)

Por otro lado para obtener la matriz que representa la posición y orientación del robot, se encuentra la matriz de rotación del sistema de referencia del robot. Esta matriz se obtendrá haciendo una composición de rotaciones empezando con la rotación sobre el eje X, luego la rotación sobre el eje Y y por Último la rotación

48

II Capítulo 4 Sistema de calibración

II

respecto del sistema de referencia mundial, ésta1 homogénea T' como sigue:

sobre el eje Z. R(z, 9. Con R sigue:

puede formar parte de una matriz

I . . Por tanto la rotación resultante ds la siguiente Rb = R(x, a) R(y, er) (matriz de 3x3) se puede obtener una matriz homogénea R' como I¡

/I

(4.23)

(4.24)

Donde I es una matriz identidad de 3x3 y Tb e s una matriz de 3x7

De lo anterior se tiene que la matriz homogenea B de posición y orientación II

U del robot es la siguiente:

(4.25)

II Figura 4.9. Esta figura muestra la forma de obtener los parámetros de posición y orientación del sistema de referencia del robot. , I/ *

49

I1

Sistema de calibración I/

Capítulo 4

Para obtener los parámetros del robot se utiliza una interfase gráfica parecida a la utilizada’para obtener los parámetros de la cámara, sólo que en el robot no se piden parámetros internos, tal como se muestra en la figura 4.9.

Como setpuede apreciar en la figura 4.9 el usuario del sistema de calibración puede proporcionar los valores de los parámetros de posición y orientación del sistema de referencia del robot. Una vez que el usuario proporciona los valores, puede dar click sobre el botón titulado “aceptar”. De esta manera se calculará la matriz 6 definida en (4.25) que representa la transformación correspondiente al robot.

Con la finalidad de ver gráficamente cual es la posición del robot y de la cámara con &specto de un sistema de referencia fijo, se implementó una interfase gráfica donde se muestran los tres sistemas de referencia (el del robot, el de la cámara y el sistema de referencia mundial). En la figura 4.10 se muestra las tres vistas de los sistemas de referencia de cada uno de los componentes de! sistema de visión-robotica. Las tres vistas son las siguientes:

Figura 4.10. Esta figura muestra las vistas de los sistemas de referencia del robot y de la cámara con respecto de un sistema de referencia fijo. El sistema de referencia fijo es el sistema que se encuentra en el centro de cada imagen. El cubindice r indica que es el sistema de referencia del robot. El subíndice c indica el sistema de referencia de la cámara.

1 .50

Capítulo 4 Sistema de calibración

'I a) Vista en XYaquí se hace una proyección ortogonal sobre el plano XY b) Vista en ZY aquí se hace una proyección drtogonal sobre el plano ZY. c) Vista en XZaquí se hace una proyección drtogonal sobre el plano XZ,

)I Una vez que el sistema de visión-robótica se encuentra calibrado, si se quiere, puede moverse el robot. El mover el robot noles uno de los objetivos de este trabajo, pero se hizo una animación de un robot de tres grados de libertad. Esta animación se hizo con base en el modelo ma\emático planteado y tomando en cuenta cada una de las componentes del sistema de visión-robótica.

I1 Figura 4.1 1. Esta figura muestra la animación de un robot articulado de tres grados de libertad, este se mueve utilizando el sistema de calibración desarrollado en este trabajo. !I

El modelo matemático para un sistema de calibración de acuerdo a este

1 trabajo es el siguiente: I

Sistema de calibración I1

1 Capítulo 4

Z = A B (4.26)

Las transformaciones lineales Z, A y B ya se describieron en las secciones anteriores. Para mover el robot se tiene que seleccionar un punto en la imagen del video (en estd animación, es la imagen que se encuentra del lado izquierdo de la figura 4.11) y después se harán los cálculos necesarios para transformar este punto y que sea visto de manera equivalente desde el sistema de referencia del robot. Una vez realizado lo anterior, el robot puede o no moverse a ese punto si es que el usuario,,así lo desea.

I1

Para mapear puntos seleccionados de la imagen, al sistema de referencia del

La figura 4!11 muestra el tipo de robot que se utilizó para realizar la animación. Este robot es un robot articular de tres grados de libertad. Su primer grado de libertad (empezando desde la base) es de rotación, es decir el robot tiene una base giratoria."El segundo y el tercer grado de libertad también es de rotación.

robot, se utilizó una ecuación obtenida a partir de la ecuación (4.26).

I . para mover el brazo del robot.

II

Dada la ecuación (4.27) (la cual es obtenida de 4.26) se obtendrá la ecuación

B = A-'Z (4.27)

En la ecuahón anterior, la inversa de A existe por las condiciones dadas en la sección 4.3.2. Esto es porque las escalas a lo largo de los ejes u y v del plano imagen y la distancia focal nunca son cero. Por otro lado, la matriz de rotación y traslación que compone a A tiene inversa. Por Último, como B es una matriz de rotación y traslación (ver ecuación 4.25) entonces también existe su inversa. Y puesto que Z ='A6 entonces también existe la inversa de Z.

La ecuación (4.27) permite mapear puntos desde el sistema de referencia del robot al sistema de referencia mundial. Pero para poder obtener el punto hacia donde se quiere mover el robot se requiere el proceso inverso, es decir, mapear puntos desde el sistema de referencia mundial al sistema de referencia del robot. Por tanto la ecuación a utilizar es la siguiente:

6-l = (A-lZ).' (4.28)

B" = Z-l A (4.29)

Por otra parte, el usuario del sistema de visión-robótica seleccionará los puntos a donde,lpodrá moverse el robot desde la pantalla de la computadora. En donde la cámara de video está desplegando las imágenes tomadas de la realidad. La ecuación que se utilizó para mapear puntos desde el sistema de referencia mundial al sistema del robot es la (4.29). Pero como se dijo arriba, los puntos son seleccionados en la pantalla de la computadora por lo que, la transfomación lineal A ya ha sido evaluada y ha dado como resultado el punto seleccionado por el

'1

I/

I/

I1

I Capítulo 4 ‘I Sistema de calibración

11 usuario. De acuerdo a lo anterior, sólo queda p,pr evaluar la transformación lineal Z‘ para así obtener un punto visto desde el sis‘ema de referencia del robot. Este último punto, es el que se utilizará para mover la mano del robot hacia este mismo punto si es que así se desea y si es posiblei/l En otras palabras este punto se utilizará para resolver el problema cinemático inverso del robot.

En la figura 4.11 se presenta la animación/del movimiento del robot y. en el lado izquierdo de la figura un cuadro del vide: de la cámara. Cuando el usuario desplaza el puntero del ratón sobre el cuad7o de video las coordenadas van cambiando y son mostradas en el letrero que se encuentra debajo de la misma. Cuando el usuario da click sobre el cuadro en un punto que desee, se realizan las transformaciones necesarias para poder mostrar las coordenadas de ese mismo

seleccionar un punto en el cuadro se despliegan las coordenadas del mismo punto visto desde los sistemas de referencia mundial,(\de la cámara y del robot.

B

I1

punto pero desde diferentes sistemas de It referencia. De esta manera, al

I1 Después de que el usuario ha seleccionado el punto y ha visto a que equivale en los diferentes sistemas, se puede seleccionar el botón titulado “mover robot” para posicionar el robot en ese punto. Una {ez que se ha seleccionado mover robot, se soluciona el problema cinemático inverso del robot [Barrientos, 19971 y se encuentran valores de los parámetros, los ‘kuales son desplegados en la lista titulada “valor de los parámetros”. La lista presenta los ángulos necesarios que deben de adoptar los eslabones para que el robot pueda moverse al punto seleccionado.

Figura 4.12 Esta figura muestra un robot abiculado con tres grados de libertad. Sus tres articulaciones son rotatorias. 1

53 ‘I II

Capítulo 4 il. Sistema de calibración

La figura')4.12 muestra uno de los brazos de robot utilizados para realizar la animación mostrada en el programa. Este robot tiene tres grados de libertad y SUS tres articulaciones son rotatorias. Para resolver el problema cinematico inverso se toman como conocidos los siguientes datos: el punto [px, pr pJ y la longitud de los eslabones I f , 12, 13.

Los datos desconocidos son: los ángulos qj, q z y q3. qzes el ángulo formado entre I j y 12. q3 es el ángulo formado entre 12 y 13.

I L3

L2

L Figura 4.13 Esta figura muestra los detalles de los dos últimos eslabones del brazo de robot mostrado en la figura 4.12

I1

I/

El ángulo qj se puede obtener de la siguiente ecuación:

q1 = arctan(py/px) (4.30)

11 Para obtener q3 se procede como sigue:

? = ( Pd2 + (PY)' 11

ii m2= (pZ)' + 8

Por la ley de cosenos se tiene que:

I/ m2 = (I,)' + (i212 + 21~12 cos(q3)

(4.31)

(4.32)

(4.33)

Lo anterior es debido a que el ángulo entre Ir y 12 es (180-q3) y por lo tanto ~0s(l80-q3) = - COS(q3). Por otro lado de (4.32) y (4.33) se tiene que:

i

5 4

Sistema de calibración Capítulo 4 ,I

por tanto

(4.34)

(4.35)

(4.36) 'I

En la figura 4.13 se observa que & = b-a, de aquí que se tienen que obtener primero los valores de b y a para obtener 92. '1

En la figura 4.13 se puede observar que:

'1 2 1/2 b = arctan(pz/r) = arctan(p,/k[(px)2 + (py) 1 (4.37) 1

a = arctan(13sen(q3)112 + l3cos(q3)) (4.38)

'I Por tanto

De esta forma se obtuvieron los ángulos necesarios que resuelven el problema cinemático inverso del brazo del robot. Los {alores de los parámetros para el segundo brazo de robot, utilizado en la an,imación del sistema, se obtienen haciendo suposiciones similares a las anteriorek.

Continuando con la descripción del sistemd, en el capitulo 3 se mencionó que una de las condiciones es que el robot sólo se'lpodrá mover en un plano a la vez, como el plano es desplazable se ,puede cuibrir un espacio tridimensional. El usuario podrá mover este plano tan cerca o tan lejos de la lente de la cámara como él quiera. Para realizar esto basta que el usuario varíe los valores del "Plano de la cámara" utilizando la barra de desplazahento y seleccione el botón "OK" para establecer este plano. Por otro lado, en la' imagen del lado derecho donde se encuentra el robot se puede ver una linea horitontal la cual indica el plano donde se puede mover el robot.

En la figura 4.11 también se muestra el robot desde diferentes vistas con la finalidad de tener una mayor apreciación del movimiento.

En la figura 4.14 se muestra la interfase gráfica que representa la animación de un robot cilíndrico con 3 grados de libert$d. La primera articulación de este robot es giratoria, la segunda articulación es de desplazamiento, el eslabón azul

11

:I II

I

se desplaza sobre el eslabón verde de bajo y viceversa como se puede

I1

Cauítulo 4 I/ Sistema de calibración

1 ver en la figura. La tercera articulación también es de desplazamiento, en ésta el tercer eslabón entra y sale sobre el segundo eslabón como si fuera un pistón.

I/ Las partes que componen a la figura 4.14 son similares a la de la figura 4.1 1,

sólo que aquí se trata de un robot cilíndrico con tres grados de libertad y por lo tanto el hecho de resolver el problema cinemático inverso implican otras ecuaciones.

1 Figura 4.14. Esta figura muestra la animación de un robot cilíndrico de tres grados de libertad, el cual se mueve utilizando el sistema de calibración desarrollado en este trabajo.

Hasta aquíise ha descrito el programa que se implementó para calibrar un sistema modular de visión-robótica. En la siguiente sección se describe otro método para calibrar un sistema de visión-robótica el cual utiliza el método de aproximación polinomial de minimos cuadrados.

I/ 4.5 Calibración de un sistema de visión-robótica utilizando mínimos cuadrados

Como se mencionó en secciones anteriores, calibrar un sistema de visión robótica consiste en mapear puntos entre los sistemas de #referencia de sus componentes. ?ara mapear puntos desde el sistema de referencia mundial al

I/ 56

Capítulo 4 ' I Sistema de calibración

sistema de referencia de la cámara y desde este último al sistema de referencia del robot, se pueden utilizar polinomiales. Lal polinomiales se pueden obtener mediante un método de mínimos cuadrados.

condiciones es que el brazo del robot sólo] se moverá en un plano que es perpendicular al eje focal de la cámara. Aprovechando esta condición se planteó la siguiente idea para calibrar el sistema de visiód-robótica.

marca cada punto donde se mueve el efector anal del robot. Se obtiene un cuadro de vídeo (una fotografía) con las ;marcas establecidas. Después de esto se relaciona cada punto del robot (x,, y,, 2,) con!/su correspondiente marca o punto (u], vi) en la fotografía o plano imagen de la cá'mara. Lo anterior puede verse en la figura 4.15. En esta figura puede observarsellcomo se relacionan los puntos del robot (xr, y,, 2,) con los puntos del plano ¡mugen, los cuales se denotan por el centro de la cruz (x). En la figura, zr no apare$e ya que es una constante. Esto es debido a que el robot se moverá sólo en un plano.

11

En el capítulo 3 se mencionaron las del problema. Una de las

Se mueve el robot a diferentes puntos y,, 2,) de su plano de trabajo. Se

I1

Figura 4.15. Esta figura muestra los puntos 1.1 robot lo cuales son relacionados con los puntos de la imagen. Las'cruces (x) son los puntos de la imagen y las coordenadas entre paréntesis indica (x,, y,) son los puntos del robot. 2,110 aparece porque es una Constante y es conocida, es dt'cir Z i k .

Cuando este sistema de visión-robótica;. está en funcionamiento los puntos destino del efector final del robot son seleccionados desde la imagen desplegada en la pantalla. El punto seleccionado en la ipagen debe ser rnapeado al sistema de referencia del robot. Para mapear los puntos, se puede hacer componente a

:I

Capítulo 4 I! Sistema de calibración II

componente.,, Es decir, si se tiene ui en la imagen se debe de encontrar el correspondiente xr en el sistema de referencia del robot, de forma similar se hace para las vi de la imagen y su correspondiente yr del robot. Para hacer lo anterior se puede aplicar una polinomial P, a ui que de cómo resultado la correspondiente Xr, es decir:

I1

I1 Pn(ui) z xr (4.40)

I) Donde

O I1

Pn(x) = aox + alx' + a2x2 + ... + a,,+"' I/

Donde m es el grado del polinomio.

(4.41)

I! Para mapear las vi de la imagen al sistema de referencia del robot y encontrar yr, se puede aplicar una polinomial Q,, a vi de la siguiente forma:

(4.42)

Qn(X) = boxo + bix' + b2X2 + ... + bmXm (4.43) ii

Donde m es el grado del polinomio.

Para encontrar el polinomio P,(x) se relacionan las ui con las x, y se aplica el I/

método de mínimos cuadrados. Se procede de forma similar para encontrar Q,.

Una vez que ya se tienen los polinomios correspondientes, se pueden utilizar para mapear pÜntos desde la imagen desplegada en la pantalla al sistema de referencia del robot, de la siguiente forma:

I1

I/ Sea (u¡. vi) un punto que pertenece a la imagen desplegada en la pantalla.

I/ Entonces I,

II (P,(ui), Qn(vi),, zr) pertenecerá al sistema de referencia el robot

De esta forma es como se hizo el segundo método de calibración del sistema de visión róbotiia. En la siguiente sección se describirá la forma en que se implementó el sistema de calibración utilizando este método.

11

I

I1

5 8

Sistema de calibración I

Capitulo 4 I1 II

Archivos de datos. Archivo 1 (puntos de la imagen

(Ui.Vi) ) Archivo 2 (puntos del robot)

( x n Y., &) )

4.5.1 Implementación de un sistema de calibración para un sistema d e visión-robóticb utilizando mínimos cuadrados

En esta sección se presenta la forma en $ue se implementó el sistema de calibración para un sistema de visión-robótica. utilizando el método de mínimos cuadrados. I

I1 Este sistema de calibración tendrá como kentrada dos archivos de datos y

como salida dos polinomiales. El primer archivo de datos contendrá puntos de la imagen. El segundo archivo de ' datos cbntendrá los puntos del robot correspondientes a los puntos de la imagen que están en el primer archivo. La salida serán dos polinomiales. La .primera $dinomial mapeará valores de la primera coordenada de la imagen u¡, a la primera coordenada del robot x, La segunda polinomial mapeará valores de la seghda coordenada de la imagen VI a la segunda coordenada del robot yr. La terce'ra coordenada del robot z,, no se toma en cuenta porque es una constante y é s conocida. En la figura 4.16 se muestra la entrada, proceso y salida del seg'undo método de calibración. Esta figura también muestra la modularidad del sistd'ma de visión-robótica, ya que como se puede observar en los datos de entrada, kstos no dependen tanto de algún robot o cámara en particular. En otras palabras el sistema de calibración está en un módulo y. del módulo de la cámara se toma la imagen para después obtener los puntos (u/, vi). Mientras que del módulo del robot se toman los puntos (x,, y,,

Método de'bproximación Polinomiales + polinomial de mínimos + P,(ui) =x,

cuadrados 1 Q d 4 = yr 11 11

-

z,) del robot.

Capítulo4 I Sistema de calibracion I

I

4.5.2. Implementación del programa que calibra un sistema modular de visión-robótica utilizando mínimos cuadrados

I

En esta sección se muestra la forma en que se implementó el sistema de calibración el cual utiliza mínimos cuadrados. Se describen y muestran cada una de las interfases gráficas que integran el sistema de calibración.

La interfaie gráfica principal del sistema de calibración para el sistema modular de visión-robótica es la siguiente

I1

Figura 4.17!Esta figura muestra la interfase gráfica principal del sistema de calibración para el sistema modular de visión-robótica.

II

En la figura b.17 se muestra la interfase gráfica principal del sistema de calibración. Esta linterfase gráfica contiene varios botones, los cuales muestran otras ventanas o realizan alguna tarea específica.

El botón titulado "obtener datos del robot" muestra un cuadro de dialogo y le permite al usuario' seleccionar un archivo, el cual contendrá los puntos del robot ( x , yr9 zr). La figura 4.18 muestra la interfase gráfica que aparece al dar "click sobre este botón. I!

i

iI

II

11

I/

II

60 I!

I/

I Capítulo 4 II Sistema de calibración

,¡I, Figura 4.18. Esta figura muestra el cuadrado de dialogo presentado al usuario para que pueda seleccionar un archivo el cual contiene los puntos del robot.

I Cuando el usuario da "click sobre eld botón titulado "obtener datos de la cámara" aparece un cuadro de dialogo. La figura 4.19 muestra este cuadro de dialogo. Este cuadro le permite al usuario seleccionar un archivo, el cual contendrá los puntos de la imagen que correspondenla los puntos del robot. Es decir habrá una correspondencia entre los puntos (u,, VI) de la imagen y los puntos (xr, yr, zr) del robot. 11

H

II Figura 4.19. Esta figura muestra el cuadro de dialogo el cual le permite al usuario seleccionar un archivo que contendrá los puntos (u,, v,) de la imagen.

II II H

II 6:1

. _ r 1 I/

Capítulo 4 Sistema de calibración

Los puntos del robot y de la. cámara también pueden ser proporcionados desde el teclado. El usuario del sis)ema puede proporcionar los datos si selecciona el ;¡botón titulado "Obtener datos desde el teclado". AI seleccionar el botón aparecerá una interfase gráfica la cual le permitirá al usuario proporcionar los puntos (xj, y,, 2,) del robot y los puntos (ui, vi) de la imagen. La figura 4.20 muestra la interíase gráfica. Esta intevase permite al usuario seleccionar el número de puntos proporcionados al dar, "click sobre la barra de desplazamiento que está debajo del letrero que dice: "número de puntos".

! I

/I

I

i Figura 4.20. Esta figura muestra la interfase gráfica que le permite al usuario proporcionar los puntos del robot y de la cámara.

I I1

Después de que se han obtenido los puntos del robot y de la cámara, ya sea desde archivos o, desde el tec!ado. el siguiente paso es calibrar el sistema de visión-robótica. Para esto basta dar "click en el botón titulado "calibrar". En seguida aparecerá una interfase gráfica la cual es mostrada en la figura 4.21.

La interfase gráfica mostrada en la figura,4.21 permite al usuario seleccionar el grado de las polinomiales. Las cuales fueron descritas en la sección 4.5.1 y además serán la salida del sistema de calibración. En este método calibrar significa encontrarlas polinomiales (ver sección 4.5.1).

I/ 1

I I1

I I1

I!

1

1 62

‘I Sistema de calibración

1 Capítulo 4 1

I1 Figura 4.21. Esta figura muestra la manera en que el usuario puede obtener las polinomiales. Además también le permitdl seleccionar el grado de esas

Después de haber obtenido las polinomiales se verifica si el sistema de visión robótica ha sido calibrado. Para esto se d iseh la interfase gráfica mostrada en la figura 4.22. En esta interfase gráfica el usuafio puede seleccionar un punto de la imagen, la cual es un cuadro de video. Para que el usuario seleccione un punto debe de dar “click sobre la imagen. Una vez’iseleccionado el punto, se evaluan las polinomiales y se encuentra el punto correspondiente en el sistema del robot.

De esta forma es como se diseñó, implementó y verificó el sistema de calibración que utiliza el método de mínimos buadrados.

Como se mencionó, el segundo método de calibración utiliza aproximación polinomial. Por esta razón los puntos mapehdos desde la realidad al sistema de referencia del robot son también aproxim-dos. Esto seria una limitante para sistemas de visión-robótica que requieren dehucha precisión.

Por otra parte para sistemas de visión-robótica que no requieran de tanta precisión, el método de calibración que Utiliza aproximación polinomial sería bastante Útil y practico ya que no requiere d$ la calibración de la cámara.

En resumen, en este capítulo se mo.stró la forma de obtener el modelo matemático para calibrar un sistema de visjón-robótica. Este modelo matemático está formado por transformaciones lineales: las cuales fueron descritas de forma detallada. Por otro lado se calculó la transformación desconocida dentro del modelo, para de esta forma dejar calibrado,;el sistema modular de visión-robótica. Por Último, se implementó el sistema de calibración en un sistema computacional. Esto con la finalidad de verificar el modelo matemático.

polinomiales I, I1

;r II

!I

I1

II

‘I I iI

63 11

I1 8 1

I1

Sistema de calibración Capítulo4 ,j

.I Figura 4.22. En esta figura se muestra la forma en que se verificó el sistema de calibración. El usuario puede seleccionar cualquier punto de la imagen y este será mapeado al sistema de referencia del robot.

I/

También se mostró un segundo método para calibrar el sistema de visión- robótica. Este método utiliza aproximación polinomial de mínimos cuadrados. Por otro lado también' se mostraron y describieron cada una de las interíases gráficas que integran este'último sistema de calibración.

I/ En el siguiente capítulo se presentan las conclusiones a las que se llegaron

después de haber resuelto el problema e implementado el sistema de calibración para un sistema modular de visión-robótica.

I/

I/

8)

I/

I/

I1

'1

11 En esta sección se presentan las conclusiones obtenidas durante la

investigación y besarrollo de este trabajo. 1

Conclusiones I1

La arquitectura modular del sistema de visión-robótica planteada en el CENIDET permite al sistema de calibración realizar su tarea y de esta forma calibrar cualquier sistema de visión-robótica (mano-ojo) de una manera sencilla.

El método de calibración donde se utiliza la matriz de calibración de la cámara es más exacto que el método que utiliza aproximación polinomial. Pero los datos utilizados por e1:'método de aproximación polinomial, para iniciar el proceso de calibración, requieren menos operaciones para ser obtenidos que la matriz de calibración de la cámara. Por esta razón, el método de aproximación polinomial es más sencillo de aplicar pero menos exacto que el otro método de calibración.

Una de las ventajas del manejo modular del sistema de calibración y el sistema de visióhobótica es el ahorro de trabajo. Esto es debido a que no se tiene que implementar un sistema de calibración para cada sistema de visión- robótica. Gracias a la implementación de la arquitectura modular.

El sistema demi calibración en un sistema de visión-robótica es imprescindible, ya que este determina la coordinación entre el brazo del robot y lo que visualiza la cámara. Si la coordinación no es correcta se subutilizará la detección y análisis de la imagen en el sistema de visión.

Hacer trabajar el robot en un plano conocido simplifica el sistema de calibración para el,sistema de visión-robótica con una sola cámara ya que se evita la colinealidad de 'proyección de puntos. Esto no es práctico ya que el robot sólo tendrá como puntos destino los puntos que están en el plano de trabajo del robot.

El uso de cuaterniones para la resoluci6n del sistema de calibración planteado en este trabajo noidisminuyó de manera considerable las operaciones (sumas y multiplicaciones) (ver 4 capítulo 4).

I1

I/

I1

I1

65

Conclusiones iI It

I1 El sistema de calibración puede generalizarse y manejarse como un módulo,

debido a que las transformaciones lineales q%e lo forman no son fuertemente dependientes de alguna cámara o robot en palicular. Esto es aplicable para los dos métodos presentados en este trabajo. !I

I1 La consideración acerca de que la distant!? (profundidad) entre el origen del

sistema de referencia de la cámara y el play0 donde se mueve el robot sea conocida, es de gran utilidad (este plano es elbdominio de la transformación de la cámara, es decir la cámara tomará puntos dt l plano y los proyectara sobre SU plano imagen). Ya que el conocer la profvndidad simplifica el problema de calibración. Y por que no se puede determinar la profundidad usando una sola cámara (ver capitulo 4). R

Trabajos futuros En esta sección se mencionan algunos trabajos que se podrían realizar como

!I seguimiento a esta investigación.

En el sistema de calibración propuesto en,,,este I1 trabajo se toma como conocida la profundidad de la cámara. Sin embrago esto no siempre es posible. Por lo que se podría proponer otro sistema de calibrabión en el cual se suponga como desconocida la profundidad de la cámara.

Dado que en este sistema de calibración se supone conocida la matriz de calibración de la cámara. Se propone comb trabajo futuro realizar un sistema Computacional que calibre la cámara de una 'manera automática. Es decir integrar la calibración de la cámara dentro del sistema de calibración del sistema de visión- robótica.

1) I1

iI Se propone que al sistema de visión-r%botica I/ . . mano-ojo se le agregue una

segunda cámara. Esta segunda cámara estaría viendo el sistema de visión- robótica para detectar la posición y orientad'ón de la primera cámara y del robot. Posteriormente, estos datos serian procesados por el sistema de calibración para obtener un sistema de visión-robótica calibraAo de una manera automática.

si al sistema de calibración se le anexa un módulo de detección de descalibración, el sistema es mas cornpleth. Por lo anterior, se propone como trabajo futuro detectar descalibraciones en el! sistema de visión-robótica.

Para una mejor simulación de un sistema de visión-robótica, se podría crear un sistema de cómputo el cual permitiría, de danera gráfica, la edición y animación

En este trabajo se supuso que la cámara de video se encuentra fija. Un trabajo futuro podría considerar que la cámara se'' encuentra en constante movimiento.

'I

I1

I1 iI

I1

de robots de diferentes tipos.

. .

I1

'4 Conclusiones i

Esto es por que la cámara podría ir montada sobre la muñeca del brazo robot, O de un objeto móvil. En este trabajo también se supuso que el robot se encuentra fijo en alguna' posición. Por esto, un trabajo futuro sería hacer un sistema de calibración con'siderando,que la base del robot está en movimiento.

AI considerar que la cámara de video y el brazo del robot están en movimiento y, una vez calibrado el sistema de visión-robótica, éste puede ser complementado con un sistemal de seguimiento (tracking) de objetos, para de esta forma obtener un sistema de visión-robótica el cual pueda seguir objetos.

Una vez calibrado el sistema de visión-robótica y utilizando la arquitectura modular propuesta se podrian 'armar sistemas de visión-robótica de manera conjunta. Es decir, se podrian coordinar dos cámaras y un brazo de robot Ó dos brazos de rob,ot y una cámara, etc. Logrando de esta manera varias combinaciones entre brazos de robots y las cámaras.

Otro'método' de calibración seria utilizando redes neuronales. Por 10 que se propone como trabajo futuro implementar un sistema de calibración utilizando redes neuronales.

En este trabajo no se llevaron a la practica 10s métodos de calibración propuestos. Por /o que un trabajo futuro sería llevar a la Practica 10s métodos de calibración propukstos en este trabajo.

II

I/

I/

'I

U

I1

I/

I/

I/

,I

I/

11

I/

li

Ill

,.I1

I/

U

I1

, I /

I I/

~ I,

I/

67

II

II

1 I/

4 I/ Apéndice A 11

Descripción de los parámetros de Denavit-Hartenberg /I

En este apéndice se muestran y se describen los parámetros de Denavit- Hartenberg. Los conceptos mencionados aquí se obtuvieron de [Barrientos, 19971 y de [Robótica,"l995].

Figura A.1. Esta figura muestra los ángulos, la distancia de cada uno de los enlaces y los ejes de rotación de cada articulación. J, indica la articulación n- esima. L, indica ei eslabón n-esimo.

La figura A.l muestra los parámetros de Denavit-Hartenberg. A continuación

a,: es la disiancia que es mutuamente perpendicular a los ejes de las dos

t,,: es el ángulo de torsión entre los ejes de las articulaciones en un plano

d,: es la distancia entre las normales a, y a..l de los dos enlaces. A veces

I1

se describen cadapna de las variables mostradas en la figura A.1.

articulaciones adyacentes. 4

perpendicular a a, ,,

es referida como el Idesplazamiento de la articulación. I/

Apéndice A ii 'I II 8,: es el ángulo entre 10s enlaces, medido como el ángulo entre las norma'es

a, y a,., en el plano normal al eje de la articula+n.

L~ posición y la orientación de la articula&Ón n se define con respecto a la articulación n-7 por 10s cuatro parámetros a,, ti, en Y dn.

Cada eslabón tiene un sistema de referelcia. Así, Se puede establecer una relación entre 10s SUcesivos eslabones utilizando las transformaciones Para cada una de las variables (a,,, t,,, O,, y d,,). El oigen 'del Sistema de referencia del eslabón n se encuentra en la intersección de[ eje z,,, para la articulación n-I y la normal común, a,,, desde la articulación n hasta la articulación n+l. Es decir el sistema de referencia se encuentra en el extrfjmo de un eslabón, en la articulación siguiente.

Los conceptos mencionados en seguida se obtuvieron de [Barrientos, 19971 y en otros casos se hará la referencia correspohdiente.

Para describir la relación que existe entrecada eslabón se puede hacer uso de cualquier sistema de referencia asociado a c!ada elemento. La forma habitual que se utiliza en robótica es la representación de Denavit-Harterberg (D-H). Denavit y Hartenberg propusieron en 1955 un métodd matricial que permite establecer un sistema de coordenadas {Si} ligado a cada 4slabón i de una cadena articulada, y de esta manera poder determinar las ecuaciones cinemáticas de la cadena completa.

A cada eslabón del robot se le asocia un sistema de referencia y según Denavit-Hartenberg se puede pasar de hno a otro (sistema de referencia) mediante cuatro transformaciones básicas $e dependen exclusivamente de las características de cada eslabón.

I

,I :I .

'I

II

11

I1

II 11

'I ES importante mencionar que el paso;, iI de un sistema {Si.,} al sistema {Si}

Las cuatro transformaciones básicas ,(como .I(.

mediante las cuatro transformaciones básicas, es posible, sólo si los sistemas de referencia de cada eslabón se han definido,' de acuerdo a normas propuestas por Denvit-Hartenberg. !I

anteriores) son las siguientes: iI iI

se mencionó en los párrafos

1. Rotación alrededor del eje zi un Angulo Bi. 2. Traslación a lo largo del eje q-, una distancia di; vector di(O, O, di). 3. Traslación a lo largo del eje xi una distancia a,; vector ai(O, O, ai). 4. Rotación alrededor del eje xi un angulo ai.

'I II II I

I

4

Apéndice A

La ecuación para las cuatro transformaciones anteriores son las siguientes:

I1

li

Ai=T(z, €4) T(0, O, di) T(ai, O, O) T(x,ai) i-I

I1 La matriz de transformación seria la siguiente:

#I

Saisei CaiC0i -SaiCei a ¡se,

- c a s e i

Cai

dl = II sei

O O I/

I/ Donde:

C = COS y S"= sen

Además 4, ai, ai, di son los parámetros de Denavit-Hartenberg (D-H) del eslabón i. De lo anterior se puede observar que basta obtener los parámetros de D-H para obtener las matrices A y relacionar así todos y cada uno de los eslabones del rodot.

El algoritmo de D-H nombra las normas necesarias para poder definir cada uno de los sistemas de referencia correspondiente a cada eslabón del robot y, además relaciona los sistemas {Si.,} y {Si}. A continuación se presenta tal

Algoritmo de Denavit-Hartenberg para la obtención del modelo cinematico

1. Numerar 10s;~ eslabones comenzando con 1 (primer eslabón móvil de la cadena) y acabando con n (último eslabón móvil). Se enumerara como eslabón O a IA base fija del robot.

2. Numerar cada articulación comenzando por 1 (la correspondiente al primer grado del libertad) y acabando en n.

3. Localizar el eje de cada articulación. Si ésta es rotativa, el eje será su propio eje de giro. Si es prismática, será el eje a lo largo del cual se produce el desplazamiento.

4. Para i de O a h-1 situar el eje zi sobre el eje de la articulación ¡+l. 5. Situar el origen del sistema de la base {SO} en cualquier punto del eje zo . Los

ejes xo e yo se situarán de modo que formen un sistema dextrógiro con ZO. 6. Para i desdeil hasta n-1, situar el sistema {Si} (solidario al eslabón) en la

intersección del eje zi con la línea normal común a zi.7 y zi. Si ambos ejes se cortasen se situaría {Si} en el punto de corte. Si fuesen paralelos {Si} se situaría en la articulación i+l.

7. Situar xien la línea normal común a zi-f y zi. 8. Situar yi de modo que forme un sistema dextrógiro con xi y zi.

NI

II

algoritmo. 8)

directo .I1

II

. .I

I1

I/

11 70

ApéndiceA 11 II

9, Situar el sistema IS,} en el extremo del rob$ de modo W e coincida con la

el ángulo que hay que girar entorno a 2i-r para que xi-? Y xi

11 .Obtener di como la distancia, ,medida al 10 largo de 2i-f~ que habría que

12.Obtener ai como la distancia medida a lo! largo de Xi (que ahora coincidiría

dirección de z,., y xo sea normal a 2n-f Y

queden paralelos.

desplazar {Si.,} para que xi y Xi-, quedased'alineados.

I1 4 If

con xi-,) que habría que desplazar el

13.Obtener ai como el ángulo que habría

{Si-il para que SU origen

entorno a xi (que ahora coincidiese con {Si}.

coincidirá con xi.,) para que el nuevo {Si.? coincidiese totalmente con {Si}. 14. Obtener las matrices de transformación "llAidefinidas en (A.1). 15.Obtener la matriz de transformación queirelaciona el sistema de la base con

el extremo del robot T = 'A, 'A2 ..."-' An. 1 16. La matriz T define la orientación (submatriz de rotación) y posición

(submatriz de traslación) del extremo referido a la base en función de las n coordenadas articulares.

1 ' ::

Los parámetros de se describieron al inicio de este de ellos se dará otra descripción apéndice. Pero para

il obtenida de [Barrientos, 19971.

41' A continuación se describen los parámetros de Denavit-Hartenberg.

Si: Es el ángulo que forman los ejes xi., ylxi medido en un plano perpendicular al eje 4, utilizando la regla de la mano derecFa. Se trata de un parámetro variable en articulaciones giratorias,

di: Es la distancia a IO largo del eje izi desde el origen del sistema de coordenadas (i-l)-esimo hasta la intersección del eje zi., con el eje xi. Se trata de un parámetro variable en articulaciones prisqáticas.

ai: Es la distancia a IO largo del eje xi que va desde la intersección del eje zi., con el eje X i hasta el origen del sistema ¡,/esirno, en el caso de articulaciones giratorias. En el caso de articulaciones prismáticas, se calcula como la distancia más corta entre los ejes zi., y zi.

H I

I1

iI 'I I I

ai: es el ángulo de separación del eje:; zi.7 y el eje z,, medido en un plano Perpendicular al eje xi, utilizando la regla de ¡la mano derecha.

II

Apéndice B Cuaterniones

B.1 introducción I/

En este apéndice se definen los cuaterniones y las operaciones que se pueden realizar con eiiob. Una vez definidas las operaciones, se verifican que propiedades cumplen estas. llDespués, con base en lo anterior, se mencionan las estructuras que se pueden formar con los cuaterniones. Por último se describen las rotaciones y reflexiones hechas con cuaternioes.

II

I/

B.2 Operaciones básicas de los cuaterniones Los cuaterniones fueron introducidos por W. R. Hamilton en 1843 con el

objetivo de obtener un sistema numérico que describiera puntos del espacio tridimensional deiforma similar a como los números complejos describen puntos del plano.

Por Io anterior, los cuaterniones son números hipercomplejos. Un cuaternión g II

se define de la siguiente manera. I/

q =)a + bi +cj + dk

/ donde a, b, c, d E R (R es el conjunto de los números reales)

I/

En el cuaternion g la parte: bí + cj + dk se conoce como la parte imaginaria y se denota de la siguiente manera:

4 lm(q) = bi +cj + dk (8.2)

I/

li Y la parte a se denomina la parte real de g y se denota por:

Re(q)=a I/

(8.3)

I/

Muchas veces la parte imaginaria de un cuaternion es identificada como un vector en tres dime7siones, es decir g puede verse de la siguiente manera:

.I/ Sea s = a y 'I1v = bi + cj + dk, entonces.

41

- I¡

I/

I/ 12 ,I

II Cuaterniones Apéndice B 1

ii II q = s + v ó q = (s, v) (8.4)

111

La notación anterior es útil para poder expresar la multiplicación de cuaterniones y algunas de sus propiedades Itales como la colinealidad y la

Un cuaternión también puede escribirse como un vector de cuatro

perpendicularidad. 1 1 I/ componentes, como se muestra a continuación. II

Para los cuaterniones son validas la! operaciones de suma, resta, multiplicación y además para cada cuaternion existe un inverso multiplicativo. En seguida se da una descripción de cada una de tales operaciones. il

I1

Operación de suma iI H

iI II

11 iI II 'I

La operación de suma para los cuaterniones se define de la de siguiente

NOTA: En lo que sigue de este apéndice se denotará por /!! al conjunto de

m a nera :

I todos los cuaterniones.

Sean p , g E M tal que:

p = a + bi + cj + dk q = x + yi +zj + wk

entonces:

p + q = (a + x) + (b +y)¡ + (c +b)j + (d + w)k II 'I 'I

La operación de resta se define de mandra similar de la siguiente forma:

Operación de resta

(8.6)

La operación de resta para los cuaterniones I1 se define de la de siguiente forma: 'I 'I Sean p, g E M tal que:

p = a + bi + cj + dk q = x + yi +zj + wk I

entonces: I I

II 'I

p - q = (a - x) + (b -y)¡ + (c - i ) j + (d - w)k 81 (8.7)

.I/

Apéndice B ,~ Cuatemiones I1

1 4

Operación de multiplicación

conceptos básicos como los siguientes: La operación de multiplicación para los cuaterniones requiere de algunos

I1

Denotemos1 por o la operación de multiplicación de cuaterniones entonces: I/

11

I/

(B.8) ioi = -1 , joj = -1, kok = -1

Por otro lado también se define lo siguiente: I1

(B.9) (B.10) (B . l l )

Para efectos.ide memorización también se puede definir el siguiente circulo: I/

k '7 Aj I' !Y-/--- I/

Cuando se multiplica ioj = k por que va en sentido de las flechas, si se multiplica f'i = -k ya que va en sentido contrario al de las flechas. Las otras combinaciones se obtienen de manera semejante.

I/

II Dadas las definiciones anteriores se tiene lo siguiente:

Sean ql , 9 2 E M tal que: I/

ql = w1 + xli + ylj + zlk q2= ~2 + xi¡ + y j + ~ 2 k

Entonces la mhiplicación de cuaterniones se define de la siguiente forma: I/

II (5.12) q1"qz = (WIWh - XIXZ -y1yz - zrzz)

(WlX2, + XIW2 + y1z2 - ZlY2)i (w1yZI- XIZZ + YIWZ + z1x2lj (wIz?,+ XIYZ - ~1x2 + ~ 1 ~ 2 ) k

d l

Utilizando la rebresentación de cuaterniones dada por (5.4) también se puede definir la multiplicación y quedaría de la siguiente forma:

131

. I/

I/

I/ 74

Cuatemiones Apéndice B If

I II II

Sean a, b E M tal que:

a = (s1,vl) y b = (SZ,VZ) (8.13)

(8.14)

Entonces:

aob= sls2 - v1wz + slvl + s2v1 + (VI x VZ) I1

donde ' I - " es el producto punto y "x" es el prod,ucto cruz [Tromba,l991]. If !I

Así como en los números complejos existen el conjugado de cada numero, también en los cuaterniones existe el conjugaba de cada cuaternion. En seguida se define el conjugado de un cuaternion. I(

'I

'I

Conjugado de un cuaternión iI Sea M el conjunto de todos lo cuaterniones entonces:

VqeM 3 q' llamado conjugado de q tal que sí:

q = a + bi + cj + dk entonces 'I

'I iI

II iI

'I 'I

i (8.15)

Para definir la magnitud de un cuaternion se utiliza el conjugado de este. En

q' = a - bi - cj -dk

11

seguida se da la definición de la magnitud delun cuaternion.

Magnitud de un cuaternion

Sea M el conjunto de todos los cuaterniohes

Y sea a E M tal que:

a = al + azi + a3j + a4k entonces el conjugado de a es: 11

'I (B.16)

'I

I1 1

a'= al - a2i - asj - a4k

I1 . La magnitud de a denotada por ((all se define como:

1

II ya que:

(8.17)

I (B.18) aoa'= aiai - (a2, a3, a4).(-a~, -a3, -a4 + al(a2, a3, a4) + al(-az, -a3, -a4) +

+ (a2, a3, a4) x Caz, -a3, -a4) I

14'

Apéndice B ,/ Cuaterniones

I/

I/

pero ii'

(B.19)

(B.20) 1 NI

entonces:

aoa' = alal - (a2, a3, a4).(-a2, -a3, -a4) = al2 + az2 + a3' + a42 (8.21) I/

NOTA: 4'

de lo anterior se obtiene que: I/

I/

aoa' = aloa" (B.22)

Hasta aquí%e han descrito las operaciones de suma (+) y producto (") de cuaterniones. Se puede verificar si el conjunto M, de cuaterniones forma un grupo con la operación de suma o con la operación de producto. Antes de verificarlo se dará la definición ' .t de grupo.

4

B.3 Estructuras con los cuaterniones .I/ El conjunto M de cuaterniones y las operaciones definidas en el forman

estructuras algebraicas. En esta sección, primero se dará la definición de estas estructuras y, clespués se verificará si los cuaterniones y la operación correspondiente 'Irealmente cumplen con las propiedades de esa estructura. Se empezará verificando si los cuaterniones pueden formar un grupo con la operación correspondiente y por último si forman un anillo.

B.3.1 Grupo

En esta sec&n se mencionrá la definición de grupo para postenormente verificar si los cuaterniones forman un grupo.

11

Sea G un conjunto no vacío, y sea "*" la operación binaria definida en G. Se dice que G es un grupo si cumple con los siguientes axiomas.

I. Ley asociativa. v x, y , z E'G se cumple que

(x*y)*z =I x*(y*z) I1

- I/

I)

I/

76

(8.23)

Cuaterniones Apéndice B II II

2. Existencia del elemento neutro o identidad 3 un único e E G tal que H

1 xfe = x*e = a (B.24)

1 II

II iI

I . Ley asociativa. iI 'I I

3. Existencia del inverso.

I1 (B.25)

Una vez dada la definición de grupo, se vei;iificara si (M, +) forma un grupo, de

v x E G existe un x-' tal que x*x-' = x-'*x= e

la siguiente forma:

Sea a, b, c E M tal que a = (sq,vl), b = (SZ,VZ), c=(s3, v3)

(8.26)

(8.27)

'I 'I

De (8.26) y (8.28) se concluye que se cumple la ley asociativa con la

2. Existencia del elemento neutro de la suma.

operación de suma.

I1 'I1

V a EM 3 único OEM tal que: ,1' ,I II

iI 3. Existencia del inverso aditivo. II

'I Para todo a E M 3 un be M tal que 1

a + O = O + a = a 11 I1 donde O = O + O¡ + Oj + Ok

(6.28)

a + b = O iI (B.29) H (8.30)

(a1,az3a3,a4) + (bl, bz, b3, b4) = (al + b,;, a2 + bz , a3 + b3 , a4 + b4) =

igualando componente a componente se tiene que:

= (O, o, o, O ) = o

iI

I l .

4

I/ Apéndice B Cuatemionec

I/

b l -dl = O b2 -a2 = O b3 -a3 = O b4 -a9 = O

entonces I/

bl = $1 b2 = -a2 b3 = -a3 I/

b4 = -94 I/

I/ < .

b = -a = (-a1,-a2,-a3>-a4)

(bl, b2, b3, b4) + (al,a~,a3,a4) = (bl +ai, bz +a2, b3 +a3, b4 +a4 )

igualandb componente a componente se tiene que:

I/

I/ = ( O , o, o, O) = o

bi -ai li= O b2 -a2 = O b3 -a3 7 O b4 -a4 = O

entonces I/

11

1 bl = -al b2 = -a2 b3 = -ai' b4 = -a4'

I'

4 ..

b = -a = (-a1,-a2,-a3,-a4) II

Por tanto eyiste el inverso aditivo para cada a E M

(8.31) (B.32)

(B.33)

Por las tres prApiedades anteriores se concluye que M con la operación suma (+) forma un grupo'. Es decir (M, +) es un grupo.

operación de multiplicación (""") forma un grupo.

4

A continuación se verificará si el conjunto de los cuaterniones M con la

.,I

mil

. I/

78

Apéndice B I Cuaterniones

(B.34)

(B.35)

(B.36)

(B.37)

(B.38)

(B.39)

I/ Apéndice B Cuaterniones

2. Existenka del elemento neutro de la multiplicación para cuaterniones I/

V aeM,13 único eEMtal que:

'lane = eoa =a 4

donde e = (1,0,0,0) = (1, O,) tal que O,= (O, O, O)

Sea a ="(sl, vi) entonces

aoe = (si; vi) (1, O,) = i1l

= s1 -'vI. O, + sIOv + v, + VI x O, = SI +VI = a

Por otro lado, se tiene que:

eoa = (1, O,) O (sf , v1) =

I1

'I

= Si - O, . v1 + v1 + slOv + O, x v1 = s1 + v1 = a I1

I/ Por tanto e es el cuaternion unitario.

3. Existencia del inverso multiplicativo I/

v a E M tal que a # O 3 único a-' E M tal que aoa-l = 'L-loa = e

I1

Donde a = a'í(a'.a) y e es el cuaternion unitario (recordar que a'es el conjugado de a)

Entonces I/

aDa-l = ao[ a'/(a'oa)l = (aoa')/(a'oa) = (aoa')/( ana') = e .1 Además 1)

I/

(8.40)

(B.41)

(B.42)

(6.43)

(8.44)

II

II a-'"a = [ a'/(a'oa)l 0 a = (a'oa)/(a'oa) = e (B.45)

De esta forma se ha verificado que (M, +) forman un grupo y que (M, 'J también forma un grupo. Aprovechando estas demostraciones se verificará si el conjunto de los cuaterniones (M) con las operaciones de suma (+) y multiplicación (") forman un anillo.

Antes de verificar si el conjunto de los cuaterniones M forma una anillo de división con las operaciones suma (+) y multiplicación ("), se definirá esta estructura algebraica. Se empezará definiendo lo que es un anillo y después se definirá lo que es un anillo de división.

4

11

80

iI

I¡ B.3.2 Anillo 'I

'O .

I I iI

Apéndice B iI Cuaterniones

11

Sea C un conjunto no vacío, en el cual se definen dos operaciones binarias. La operación de suma denotada por "+" y la operación de multiplicación denotada por "." . Se dice que (C,+;) es un anillo si cumple cob los siguientes axiomas.

I. Ley asociatividad para la suma.

V a, b, c EC se tiene que:

It I1 (a + b) + c = a + (b + c)

2. Existe el elemento neutro de la suma.'IJ

.'I iI

a + O = O + a = a II II 1

II II !I iI

,iI I1

a + b = b + a iI

V a EM 3 Único OEM tal que:

3. Existe el inverso aditivo.

V a EM 3 -a EM tal que

a + (-a) = O

4. Ley conmutatividad con la suma.

V a , b EM

11

1

it 5. Ley asociatividad para la multiplicac/lón.

(8.46)

(8.47)

(8.48)

(8.49)

V a, b, c EM

(8.50) II

I

(a.b).c = a.(b.c)

6. Distributividad de la multiplicación sbbre la suma por la izquierda y por la derecha.

V a, b, c EM

(a + b).c = a.c + b.c c' ( a + b) = c.a + c.b il (B.51)

(B.52)

' j ApéndiceB , Cuatemiones

A continuacion se verificará si el conjunto de cuaterniones M forma un anillo 4 ., '

con las operadones de suma (+) y multiplicación ("). 'I

axiomas: '1 Para verificar si (M, +, 9 forma un anillo se verifica si cumple con los siguientes

1. Ley asckiciatividad para la suma. t' a, bj 'k EM tal que:

a=(si,jvl) b = h VZ) c=(s3, v3)

(a + b) c = ((SI, VI) + (SZ, VZ)) + (s3, v3)= = (SI+ s2, VI+ Vi) + (s3, v3) = = (SI+ s2 + s3, vi+ v2+ v3)

a + (b fit) =(SI, VI) + ((si, VZ) + (~3 , v3))= = (SI, VI) + (s2+ s3, v2+ v3) = = (SI+ s2 + s3, VI+ v2+ v3)

,i

I/

1'

:. (a + b) + c = a + (b + c)

I)

2. Existe elielemento neutro de la suma.

t' a E M 3 único OEMtai que: 'I/

a + O = O + a = a

Sea a = jai,a2,a3,a4) y 0 = ( O , O. o, O)

1

(6.53)

(6.54) '(6.55)

(6.56)

Entonce:

a + O =,,(al, a2, a3, a4) + ( O , O, O , O) = = (al+ O, a2 + O, a3+ O, a4 + O) = (ai, a2, a3, a4)

0 + a = ¡(o. o, O , O ) + (al, a2, a3, a4) = = (O + al, O + a2, O + a3, O + a4) = (ai, a2, a3, a4)

4

(6.57)

(B.58)

Ahora para demostrar que es Único el elemento neutro de la suma se hará lo I1

siguiente:

Sea O' otro elemento neutro de la suma de M tal que O' f O entonces:

(6.59) a + O = a + O' entonces (6.60) -a + a + O =.,,O' entonces (B.61) (-al, -az, -a3, -a4) + (al, a2, a3, a4) + O = O entonces (B.62)

(-al + al, -a2 + a2, -as+ a3, -a4 + a4) + 0 = O' entonces (8.63) (O, O ,O, O) + O = O' entonces (6.64)

I1 a = a + O = a + O' entonces

82

It

Apéndice B 'I Cuaterniones I1

O + O = O' O = O ! (contradicción)

entonces 1 11 I :. O es único

3. Existe el inverso aditivo.

VacM 3 -aEM tal que a + (-a) = O

Sea a = (ai, a2, a3, a4) y b = (bl, b2, b3, b4) tal que a, b E M

II II

iI 'O

iI

II

a + b = O entonces (al, a2, a3, a4) + (bl, b2, b3, b4) = O (al + bi, a2 + bz, a3 + b3, a4 + b4) = (O, $, O, O) igualando elemento a elemento se tiene lo siguiente:

al + bi = O, a2 + b2 = O, a3 + b3 = O, a4 +(b4 = O entonces

I1

bl = -al , b2 = -a2, b3 = -a3, b4 = 'I ,ia4 entonces b = (-al, -az, -a3, -a4) = -a 11.

.. Va EM 3 -a EM tal que

a + (-a) = O

4. Ley conmutatividad con la suma.

V a , b c M a + b = b + a

a + b = (al, a2, a3, a4) + (bl, bZi b3. b4) = = (al + bi, a2 + b2. a3 + b3, a4 + b4$= - (bl +a l , bZ+ a2, b3+ a3, b4+ a4) = = (bl, bz, b3, b4) + (al, a2, a3, a4) = b + a

-

iI

(B.65) (8.66) (B.67)

(B.68)

(B.69) (B.70) (B.71)

(8.72)

(B.73) (B.74)

(B.75)

(8.74)

(8.75)

. . a + b = b + a (8.76)

I/

Cuaterniones Apéndice B !I

I

5. Ley asociatividad para la multiplicación. II

v a, b, c 'ZM .I1

(a0b)k = ao(boc) (8.77) Esta propiedad ya se verifico antes, al verificar que (M, 9 forma un grupo.

I/

6. Distributividad de la multiplicación sobre la suma por la izquierda y pos la derecha.

V a, b, c,; EM 41

ii a) (a,+ b)"c = aoc + b"c b) co( a + b) = coa + cob

4 Demostración de a)

I/

Sea a f (s1,vl) b = (s2, v2) c = (s3, v3)

(8.78) (B.79)

(8.81)

~~ ~~ ~

iI

1

iI

Apéndice B I cuaterniones I

Puesto que los cuaterniones cumplen con todas las propiedades entonces (M,

Ahora debido a que los cuaterniones no son conmutativos estos forman un anillo el cual no es conmutativo ver [Rodriguez, 200Ol. Por lo anterior y de acuerdo con [Quaternion, 2001, (M, +, 9 forman un anillo de división.

+, 9 forma un anillo.

11

It

'I It iI

6.4 Representac.ión trigonométrica de los cuate rn iones

11 Los cuaterniones pueden representar como un real y un vector de tres componentes. También pueden representaise como un vector de cuatro componentes. Otra representación bastante útil, ya que puede ser utilizada en las transformaciones de rotación, es la represedtación trigonométrica. La cual se define de la siguiente manera: II

'I Sea A EM, (M es el conjunto de todos los cuaterniones) tal que:

1

A = a + v ; Re(A)= a y Im(A) = v 'I 'I 'I 'I 'I iI !I

Si e = v/llvll entonces

i v = ellvll

Entonces

A = a + ellvll

A puede representarse gráficamente de lalsiguiente manera: ,I

(B.82)

(B.83)

(8.84)

(B.85)

(B.86)

(B.87)

(8.88)

~ I1

111 Cuatemiones Anéndice B

ahora también"se tiene que:

donde e eliun vector unitario

Se tiene quk A = a + ellvll , sustituyendo a y llvll se tiene lo siguiente:

A = l l~ l l cos e + e(llAllsen e) I/

entonces 4

(8.90)

(8.91)

Al = IIAll(cos 0 + esen e) (B.92)

Es decir la f o h a trigonométrica es:

A = IIAll(cos e + e(sen O)) I

ii

I/ Si IlAll = 1 entonces la forma trigonométrica es:

A 7 cos 0 + e(sen 0)

B. 5 Alg u nas demostraciones I/

(8.93)

(8.94)

Las siguientes expresiones a demostrar son utilizadas en las operaciones de rotaciones y reflexiones.

I/

Demostrar que q'Op' = (poq)' (8.95)

Demostración: I'

I/ Sea p = (s, v) y sea q = (a, w)

'1 Por definición: I,

I p"q = sa -v.w + sw + av + v x w

Wq)' = sa -v'w - sw - av - v x w 4

I/

ya que Re(poq) =,,sa -v.w y Im(pq) = sw + av + v x w por otro lado:

I/

1)

(B.96)

(6.97)

.86

Auéndice B Cuaterniones

(B.98) (B.99)

p' = (s, -v) Ii 'I

Entonces iI

iI

q' = (a, -w)

11 q'"p' = (s, -v) o (a, -w) = as - (-w).(-v) + s(-w) + a(-v) + (-w x -v)=

= as + v'w - sw - av + (w x v) = II

'I il 'i II

c p ' = as - v.w - sw - av- (vx w j 1

= as - v'w - sw - av - (v x w)

ya que (a x b) = -(b x a)

entonces 11

por tanto

I ( P O W = 4' o P' 1

(6.100)

(8.101)

(6.102)

Sea a E M tal que a = al + a2i + a d + a&,entonces

Se sabe que la norma de a, [la 11 = (a"a')'"[! además a%' E R+(reales positivos)

a'= al - a2i - a3j - a4k. li 'I II Por otro lado V a, b E M I

(a"b)' = b'" a' 'I y

Dado lo anterior calculemos la norma de dab

(B. 104)

1 I aob 1 I = ((sob) O (sob)')'" = ((aob)"(b'oa'))'/2 = (ao(bob') "a') " (B.105) I1 1 puesto que b%' E R' entonces

(ao(bob') "a') (B. 106) iI

= ((bob') (a'a')) " = ((bob') " ) ((aoa') ") = Ilb I I llall I1

por tanto 11 IlaObll = Ila II Ilb II I/ (6.107)

:Y

Anéndice B 'I' Cuaterniones

B.6 Representación .de rotaciones y reflexiones m'ediante cuaterniones

11 Los conceptos mencionados en esta sección fueron obtenidos de [Torres,1999]

'y en otro caso'se hará la referencia correspondiente. I/

Las rotaciones hechas con cuaterniones reducen el tiempo computacional, esto es muy importante, ya que en un sistema de calibración donde la cámara o el robot estén en movimiento, se realizaran bastantes rotaciones de ambos. Esto Último aumentaría el numero de cálculos y el sistema de visión-robótica sería más lento. Por esta:razón es que se da un descripción de las rotaciones hechas con cuaterniones.

Los cuaterniones pueden ser utilizados para realizar rotaciones o reflexiones de puntos en R3. En las siguientes secciones se describirá la forma en que se obtienen las transformaciones para rotar y reflejar puntos.

I1

I/

:1 8.6.1 Reflexiones y rotaciones

En esta se'cción se empezará con la definición de un cuaternion puro y posteriormente se verán con más detalles las reflexiones.

I/

II Cuaternion puro: sea 9 E Iw, se dice que q es un cuaternion puro sí Re(9)= O,

Es decir si 9 es un cuaternion puro entonces tiene la siguiente forma:

q = bi + c j i dk= O + bi + cj + dk (6.108)

se puede observar que la parte real vale cero, por lo que 9 puede ser relacionado con un punto en'/?.

Mf al conjunto de-''todos los cuaterniones de norma uno, es decir:

II

I/ Denotemos por Meal conjunto de todos los cuaterniones puros y denotemos por

41

Mo 5 { q EM / Re(q)=O}

M\ = { q EM I Ilq 11=1}

(6.109)

(8.110)

donde M e s el co)junto de todos los cuaterniones como se mencionó al inicio de este apéndice.

11

'41

A

8.6.2 Reflexiones 4

Sean 9, r E Mocionde 9 y r s e definen de la siguiente forma: 41

I/

il 88

Cuatemionec iI Apéndice B 1'

q = qii + qzj + q3k 'I! . !I

!Ji II 'I II 'I I

r = xi + yj + zk

tal que l[q 11=1 y sea q'el conjugado de q. 1 La siguiente multiplicación:

qoroq' = -r + 2(q,x + q2y + q3z)q

ya que:

de la definición de multiplicación se tiene que: 1

mon = sobo - a.b + aob + boa + a x bi donde rn = (ao+ a) y n, = (bo + b)

aplicando la propiedad asociativa iI

'I

II

I I qor = -q.r + q x r

(es un cuaternion NO puro )

,I1 donde "." es el producto punto y "x" el producto cruz.

completando el producto de cuaterniones se tiene: It

(q"r) "q' = (-q.r + q x r) "q'= II iI

f

= -q.r(q') - (qxr).q' + (qxr)xq'=

= -(qxr).q' - q.r(q') + (qxr)xq'= I

11 -(qxr).q'=O porque (q x r) i q y (q x r) I r

(8.111)

(8.112)

(8.113)

(8.114)

(8.115)

(8.116)

ahora si (q x r) i q entonces (q x r ) i q ' ya que q E Mo, por tanto -(qxg.q'=O. Siguiendo con la multiplicación se tiene. 1

'I = - q.r(q') + (qxr)xq'= II (8.117)

= q.r(q) + (q x r) x q' 'I 'I 11

Utilizando la siguiente igualdad: II I 'I

89 i

ya que q'=-q

II

(8.118)

Apéndice B '!I Cuatemiones

(a x b) x c = (a.c)b - (b.c)a [Tromba,l991] (6.119)

'11

1 1

donde a, c, b E d y ' ' 0 " es el producto punto definido en d

se tiene lo siguiente:

(6.120)

(6.121)

(6.122)

q.r(q) + (q x 4 x q'=

= q.r(q) + q.q'(r ) - r.q'(q) = ill

= q.q'(r) + q.r(q) - (-r.q)(q) =

ya que q=-q'

= ,Iki.q'(r) + q.r(q) + (q.r)(q) =

= q.q'(r) + 2q~(q) =

(B.123)

(B. 124)

puesto que ,@q' es el producto punto y qoq' es la multiplicación de cuaterniones, y además ilq]l-l= 1. Entonces qq ' = -1, por tanto se tiene lo siguiente:

I

= q.q'(r ) + 2 q ~ ( q ) = (6.1 25)

=I$ + 2q.r(q) = (6.126)

(6.127)

(B.128)

= -r + 2 llqll 1 ) rllcose(q)= ; ya que q.r = llqll I / rllcose =

= -r + 211 rllcos0(q) = I ya que llqll = I por hipótesis

por tanto se tiene que: ! I q oroq' = -r + 211 rllcose(q) 1 (6.129)

donde @es 1 ángulo entre los vectores , , y, zj y (qr, q2, q3j que se asocian con los cuaterniones r y q respectivamente.

Notese que qYq' también es un cuaternion puro que corresponde a algún

punto en

.90

Apéndice B II Cuaterniones I

B.6.3 Interpretación geométrica 11 de la multiplicación

)I qoroq'

Sean q, r E Modonde q y r se definen de la sigdiente forma: 'I

tal que 11q1(=1 11 La figura B. l muestra a los cuaterniones q, ry el plano Q que es perpendicular

li a 4.

11 Figura B.1. Esta figura muestra los vectores q = (si, q , qs) y r = (x, y, z) y Q que es el plano perpendicular a q. O es el origen. I

Figura 8.2. esta figura muestra la representación'beométrica de r, q y b. 'I

!I

;1/

Apéndice B Cuatemiones

' I1

:dl

8 n

En la figura B.2 se muestra que a = -r + 2llfllcosB(q), por tanto

-a = r - 21JrllcosB(q) (B.130)

Identificando los cuaterniones puros con puntos en d, la .aplicación r3q"r"q' es una reflexión de r con respecto al vector (cuaternion puro) q, como se puede apreciar en la figura B.2.

'I/

En generalila aplicación r +-qYq' representa la reflexión de r con respecto al plano normal a 9, Q (el cual pasa por el origen). Con la condición que llqll = q y además r, q EM^. En la figura 8.2 la reflexión mencionada antes se denota por 6 , es decir b es una reflexión de r con respecto al plano Q.

4 Como

b =-a y a = -r + 2llrl(cos€t(q) (8.131)

'.I/ entonces

b = I¡ r - 2JJrJJcosB(q)

también se puede verificar de otra forma

(B. 1 32)

' 11

(B.133)

(B. 1 34)

~ I/

:I1

.I/

b = -qoroq' = -(-r + 2llrllcose(q)) = r - 2llrllcos€t(q)

b = r - 2llrllcosB(q)

Por otro lado llbll llrjl ya que: '41

llbll = II -qOrOq'll = II -qO(rOq')ll = II -qllllr0qIl (B. 135) '.I1

ya que llqll= I, , por tanto:

llbll = llrll .)I (8.137)

De Io anterior se deduce que es necesario que llqll = 1 para que se cumpla que: r i , -q"roq', sea una reflexión de r con respecto al plano Q normal a q, como se muestra en la,figura B.2.

Además tamb'ién se tiene que

llbll = llall = Il-all = Ilrll. (B.138)

92

Cuatemiones Apéndice B II

e- b=-a

L1 IIL. II a II = Il-a II = II b II = 111 II Como I1 r II = II a II enlonces B = A B=90-A=90 .8 ; C = 9 0 - 8 ; C = B ; B = D por ser opuestos por el verticey tener los mismos lados entonces por tanto b es una reflexión de r con respecto a Q

I( I1 j C = D y II b II = I1 r (I

')1 Figura 8.3. Esta figura muestra la reflexión de r con respecto al plano Q

II normal a 9. 'I

En la figura B.3 se muestra de manera georétrica que la aplicación r+-qYq' realmente representa una reflexión con respecto al plano Q normal a q.

6.6.4 Construyendo una rotación il con cuaterniones /*

Sean P, Q los planos perpendiculares a los cuaterniones p y g respectivamente. 'I

Se sabe que:

r 3 -qoroq' (B.139)

representa una reflexión de r con respecto al,l II plano Q, si ahora se refleja r con respecto al plano P que es perpendicular al cuaternion p, la ecuación quedaría como sigue: I1

(8.140) c = -pobop'= -p?(-qoroq') op' = (-po-qo)op(q'qp') = (poq) Op(p0q)' Ir 'I

93 1 II

111 Cuatemiones Apéndice B

' I/

,.I/ ya que como se demostro.

qOp' =

entonces: I/

,dl c = (poq) Or0(poq)' (ver figura B.5) I

(8.141)

(8.142)

I/ Figura 8.4. En esta figura se muestran los cuaterniones p y q (Ilpll=llqll =I) con sus respectivos planos perpendiculares P y Q y el ángulo que forman entre ellos. También se muestra el cuaternion n que es perpendicular a p y q. n está en la linea de intersección de los planos p y q, además llnll = I.

' 4 En la figura B.4 se muestran los cuaterniones p y q y sus respectivos pianos perpendiculares P y Q respectivamente.

La ecuación 6.1 16, representa la reflexión de r con respecto al plano Q normal a q, seguida de la reflexión al plano P normal a p , como se muestra en la figura B.5.

ill

'I1 En la figura 8.5 se aprecian los ángulos entre diferentes cuaterniones y entre

cuaterniones y planos, A continuación se definirán cada uno de los ángulos.

4 es el ángulo que va desde q hasta p Bes el á n g d que va desde q hasta r

A es el ángulo que va desde r hasta la recta L1.que esta sobre el plano Q 6 es el ángulo que va desde L7 hasta b

94

Apéndice B 11 Cuatemiones It

c es el ángulo que va desde b hasta la recta í 2 que esta sobre el piano P

4 es el ángulo que va desde la recta L1 que; esta sobre plano Q hasta la D es el ángulo que va desde L2 hasta c ~r

iI recta L2 que esta sobre el plano P.

'I Figura 8.5. Esta figura muestra la representación de los cuaterniones p, q , .b y

Para saber el ángulo que existe entre r y c basta sumar los ángulos que

c así como los ángulos que forman con los planos.

1 existen entre ellos. Por lo que, el ángulo que hay entre r y c es el siguiente:

'I A + B + c + D = (e - 90) + (e - 90) + (4 - (e -..so)) + (+ - (e - go))= (8.143)

= 24 I 4 entonces el ángulo que hay desde r hasta cl,es 24.

Por otro lado 1141 = Ilcll, debido a lo anter/or se tiene que c, que es igual a: fpoq) Y ( p "q)' representa una rotación de r PO': 24.

I1 Puesto que se tiene que c = (poq) "ro(poq): tal que:

'I 'I

P = P i i + PA + p3k q = qi i + qA + q3k II

entonces:

, I/ Anéndice B Cuaterniones

'il - (qiPz - qzPi)k =

= -IIPllllqll cos Q + (IIPllllqll sen 4) (-n) (B. 144)

es -n debido a la regla de la mano derecha y por la posición que toma en la figura 8.5.

'41

I/

' II Por tanto:

'4

I/ poq = -cos Q - nsen + (8.145)

Donde 4 esrel ángulo entre p y q, y n es un cuaternion puro de norma 1 que representa la dirección perpendicular a p y q. Además n está en la línea de intersección delos planos P y Q (ver figura 8.5).

II

NOTESE: que llpoqll = 1 II

11 Demostración:

poq = -cos Q - nsen I$

1

,I/ entonces:

(B. 146)

11 P"q 11 = ((p"q) (p"q)')i'2 = ((-COS Q - nsen Q)O(-cos Q + nsen Q))i'z = (8.147) d (8.148)

= (COS~Q -(-n.n)sen*+ - cos+(n)senQ +cos+(n)senQ + ((-n)sen+ x men+) ) ' I2 = 11

= (cos2+ +sen2+) = I 11

ya que (-n)senQJx nsenQ = O

y mn = 1 que es'bi producto punto

I/

II

por tanto:

II P"q l l = 1 I/

B.6.5 Rotaciones con cuaterniones

(B. 149)

(8.150)

I1 La aplicación r 9 (poq) "r0(poq)' representa una rotación de r alrededor de n

(la dirección n est$ a lo largo de la intersección de los planos P y Q, por lo que la aplicación quedaría de la siguiente forma r 9 (cos 4 + nsen 4) Y( cos 4 - nsen 4)') de 24 grados donde 4 es el ángulo entre p y q (ver figura 8.5).

Puesto que n e4 un cuaternion puro n'=-n, así que n%' = 7 equivale a que n2 = -7 ya que nr = i n entonces n'4i = -n%.

. 11

.I/

I/ 96

Apéndice B II Cuatemiones

i Por otro lado como llnll = 1 se tiene que: II

II ,Y

entonces 'I II 'I

(B.151) 1 = n'On = -non = (-l)n2 ,

(8.152) (-I) n2= I

por tanto 'I 4 iI I1 Volviendo a la aplicación 1

n2= -1

II

(8.153)

(B. 154) I]

iI

'1 (poq) "no(poq)' = (-cos + - nsen +)On0(-cos + + nsen 4) =

II 'I

para r = n se tendría la siguiente aplicación:

n + ( P O 4 "nO(pOq)' 'I (8.1 55)

(B.156) (8.157) = (-ncos + +sen +)o(-cos 4 + &en +) =

ya que non = -1

= ncos2+ - sen+cos+ -n2 sen&os+ + nsen2+ = (B.158) = ncos2+ - sen+cos@ + sen+cds+ + men2+ = (B. 159) = ncos2+ + nsen2+= 'I (B.160) = n(cos2+ + sen2+)= 'I (8.161) = n

II

II por tanto 'i

I (Po@ "n"(p"q)' = n 'I (B. 162)

es decir rotar n alrededor de n es la misma n. iI I1

La aplicación r + (pos) "r0(poq)'= (-cos 4'; nsen 4) "rO(-cos 4 + nsen 4) puede

I¡ verse también como:

(B.163) r = (cos 4 + nsen +)OP(cos + - nsen I +)

iI II debido a lo siguiente:

(8.164) (B. 165)

r = (-cos + - nsen +)oro(-cos 4 + nsen ii +) = = (-I)(COS 4 + nsen +)oro(-l)(cos]+ - nsen 4) =

I 97 II

11

'I

Apéndice B mil Cuaterniones , . 'I

= (cos 4 + nsen +).ro(cos 4 - nsen 4) 1 II

(8.166)

por tanto la aplicación r 9 (pos) "r"(p"q)' también puede verse como sigue:

r'3(cos 4 + nsen +Yro(cos ~p - nsen +) (5.167)

La aplicacion r 9 (p "qj "r0(p "4)' = (cos 4 + nsen 4) Y(cos 4 - nsen 4) rota a r un ángulo de 24 alrededor del cuaternion unitario n, entonces para rotar a r un ángulo 4 se tendria que tomar un 8 = 4/2 y usar a B como argumento en la aplicación. La aplicación quedaría como sigue:

'11

I1

r $(cos 4/2 + nsen $/2) Or0(cos 412 - nsen 4/2) (B.168)

Por otro lado cualquier cuaternion q de norma uno puede representarse como:

(B.169)

(como se most[,ó en la "representación trigonométrica de un cuaternion" ) para algún 4 E R y algún cuaternion puro n de norma igual a 1.

.I1

I/ q = (cos a12 + nsen d 2 )

I1

Si 4 = a/2 entonces ,i

q =' (cos 4 + nsen 4). (8.170)

De lo anterior se deduce que cada cuaternion de norma igual a 1 puede representar una rotación en d. Sin embargo a cada rotación le corresponden dos cuaterniones ya ,que q y -q representa una misma rotación. -q representa la misma rotación que q sólo que con una vuelta de más ya que sí:

(5.171) (B. 1 72)

I1

1)

q = (cos 4 + nsen 4) -q =(-Los 4 - nsen 4)

841 pero

I/

cos(360 + $) = cos(36O)cos~ - sen(360)senIp = -cos$ sen(360 + 4) = sen(360)cos$ + sen+cos(360) = -sen$

(B. 173) (B. 174)

Il

entonces: II

-q = dos (360 + 4) + nsen(360 + $) (B.175)

De aquí que q y -q definen una rotación sobre un eje con una vuelta de II

diferencia para -9.4

98

It

Apéndice B Cuatemiones 11

Ejemplo w !I

(I,O,O). II '!I ,

iI I1

El siguiente cuaternion representa una rotación de 90 grados alrededor de

q = cos(45) + i sen $45); n = 1 i + Oj + Ok q = 1/(2'")+ i (14211 ))

El siguiente cuaternion representa una rdtación de 90 grados alrededor de (0,l ,O). iI

I1 p = cos(45) + j sen (45); p = (1/(2"7)(1 + j )

n =Oi +./ l j + Ok

II

'I Haciendo la composición de los cuaterniones p y q se tiene lo siguiente: :r

I1 .

I

poq = (%)(I + i + j - k)

convirtiéndolo a su forma trigonométrica se tiene que:

poq = cos(60) + sen(6O)(i + j - k)/3'" II 1

Lo anterior muestra que la rotación alreaedor del eje (1,0,0) por 90 grados seguida de la rotación alrededor del eje (O:' 1 , O) ,por 90 grados equivale a la rotación de 120 grados alrededor del eje (1, 1; - I ) / 3' '.

La razón por la cual se utilizan cuaterniones para poder realizar composición de rotaciones es que el producto de matrices de rotación requiere más tiempo cornputacional que el producto de los cuaterniones.

iI

'1 I

'I B.7 Representación de la multiplicación de cuaterniones utilizandh matrices

l/ Los conceptos mencionados en esta sdcción se obtuvieron de [Quaternion,

20001 en otros casos se hará la referencia correspondiente. La multiplicación de cuaterniones también puede ser representada mediante matrices de la siguiente forma: 'I

ii 1 'I It

Sean qr, q 2 EM tal que:

ql = WI + xli + yr j + zik q2 = Wz + Xzi + y j + i 2 k

entonces la multiplicación de cuaterniones se define de la siguiente forma:

I1 Anéndice B Cuatemiones

(B. 176)

Si examinamos los términos de este producto se puede ver que cada término depende linealmente de los términos de qr. También que cada termino del producto depende linealmente de 92. Entonces según el producto de cuaterniones se puede escribir como una multiplicación de matrices.

' I ! q l p = qz"Lrow(qd = (XZ,YZ,ZZ,WZ) (B.177)

II 1 yi 21 w1

4

qioq2 = qlORrow(q2) = (xi,yi,zi,wi) (B.178)

I/

I1

/I

B.7.1 Matrices de rotación para cuaterniones 4

Una vez queise definieron las matrices por la izquierda y por la derecha de la multiplicación de matrices se pueden utilizar para realizar una rotación, de la siguiente forma:'dI

I1

'I) Calculando q4,"q'se tiene que:

La matriz de multiplicación izquierda para q es: II

(B. 179)

1 II

~.I!

'11

I1

!I/

II

1 O0

It

ADéndice B Cuaterniones 11 11 La matriz de multiplicación derecha para q' es:

(5.180) 'I

p"Rrow(q7 = (xp, Y,, zP$)

La matriz de rotación resultante es el producto de dos matrices:

q"p"q' :

Qrow =

(6.183) 2xz -2wy O 11

'I

2xy + 2wz w2 + x2 -y2 -22 'I 2yz + 2wx O 2yz - 2wx (1 v? .t x2 -y2 -22 O

O d + x2 -y2 -22 O

il En esta sección se mostraron algunas propiedades de los cuaterniones y la

forma de realizar rotaciones y reflexiones con los mismo. Este apéndice se agregó a este trabajo para una mejor comprensión d'el mismo, ya que en el sistema de calibración implementado se utilizaron cuaterdones.

'1

!I 1 (I i

11

Referencias I) bibliográficas [Barrientos, 19971 A.Barrientos [y] L. Felipe Peñin [y] C. Balaguer [y] R.

Aracil, Fundamentos de robótica, McGraw-Hill, España, 1997, pp 112-1 18.

!I [Control númerico, 19931 Larry Horath Comuuter Numerical Control Programing of machines.

Pp 2,3.

[Diccionario, 19921 Diccionario del español moderno

“ Edit. MacMillan Publishing, 1993.

11

, Edit. Aguilar. pp 191. 41

[Domaika, 19981 Fadi Dornaika y Radu Horaud. ’ “Calibración simultanea Mundo-Robot, mano-ojo’’ IEEE Transactions on robotics and automation. Agosto de 1998.Vol 14. No 4. I/ -

41 Editada por IEEE robotics y automation society. pp 617- 622.

íI “Esquema para la integración de sistemas de visión

‘I’ robótica”. Tesis de maestría. Edson Ignacio Peralta I) Abundes. CENIDET”,l999. Pp 50-60

[Edson, 19991

[Faugeras, 19921 Oliver D. Faugeras, Tuang Luong y Steve Maybanks “Camera Self-Calibration: theory and experiments”

I’ In Proceeding of the 2nd European. Conference on ,:I( Computer Vision, 1992.

[Garcia, 19981 ,d! Christophe Garcia. “Complete calibration of autonomuos hand-eye Robot ‘4

; JANUS”. Febrero de 1998. ,111 visitada en abril del 2000

.I¡

,I, Radu Horaud y Fadi Donaika, “Hand-eye calibration ”

,ill Junio de 1995. Vol 14. No 3.

I!

:Il

httu://www.~d.de/uublications/report/OOO2/

[Horaud, 19951 Int. J. Robot. Res;

pp 195-210

102

I/

I/ Referencias biblioecáficas

[Domaika, 19981 Fadi Dornaika y Radu Horaud, “Simultaneous Robot-World

IEEE Transactions on robotics and automation. Agosto de 1998. Vol 14. No 4. Editada por IEEE robotics y automation society. pp 617-622

and hand-eye calibration” I]:

¡I,

II México 1988, pp 184. iI

11

[Quaternion, 20001 “Using Quaternions to Represent Rotation ” visitada el 29 de septiembre del.?OOO httD://www.cs.berkelev.edu/-laYra/csI 84/auat/auatemion.html

Luthe [y] Olivera [y] Schutz. 7th ed., Limusa, Métodos numéricos, [Luthe, 19881

[Ma, 19961 Song De Ma, “Self-calibration technique for active vision system” IEEE Transactions on robotics !nd automation. febrero de 1996. Vol 12. No 1.11 Editada por IEEE robotics y automation society. pp 114-120

“Kinematic Calibration of an idhive Head-Eye System ” IEEE ‘Transactions on robotics.’kd automation. Febrero de 1998. Vol 14. No l / Editada por IEEE robotics y automation society. pp 153-157

’! ,lb

Mike11 P.Groover, Mitcbelf Weiss. Robótica Industrial. Edit. Mc.Graw.Hil1, México, 1995.

I¡ [Mengxiang, 19981 Mengxiang Li

I

[Robótica,l995]

Pp 13,40,46 it

I [Rodríguez, 20001 Alejandro Rodriguez Palaciosi.“Estructuras Algebraicas”.

Centro Nacional de’Investigación y Desarrollo Tecnológico (CENIDET). Cuemavaca, México agosto del 2000.

[Shiu, 19891

[Torres,1999]

[Tromba,l99 11

Pp 2-13; ‘I

It

I1 Y . C. Shiu y S. Ahmad, “Calibration of wrist-mounted robotic sensor by solving homogeneud transform equations of the form A x = XB”. IEEE Transactions on robotics and automation.

Editada por IEEE robotics y automation society. pp 16-29

G.F. Torres del Castillo, La r&resentación de rotaciones mediante cuatemiones, Universidad audbnoma de Puebla, México, 1999, p 43

‘ Febrero de 1989. Vol 5. No 1:ll

‘I

11 A. J. Tromba [y] J.E. Marsden, Calculo vectorial, tercera ed., Addison- Wesley ‘Iberoamencana, E.U.A, 1991, p 35.

I1

Ill Referencias bibliográficas

‘11

‘ I

’ !!

‘41

I 1

.I/

I/

~ I i

:dl

I1

[Tsai, 19891

[Wang, 19921

[Zhuang, 19941

I /

i

R. Y . Tsai y R. K. Len , “A new thecnique for fully autonomous and efficient 3-D robotics handeye calibration ” IEEE Transactions on robotics and automation. Junio de 1989. Vol 5. No 3. Editada por IEEE robotics y automation society. pp 345-358

C. C. Wang, “ Extrinsic calibration of a vision sensor mounted of a robot” IEEE Transactions on robotics and automation. Abril de 1992. Vol 8. No 2. Editada por IEEE robotics y automation society. pp 16 1- 175

Hanqi Zhuang, Zvi S. Roth y R. Sudhakar “Simultaneous RoboUWorld and TooüFlange Calibration by solving Homogeneous Transformation Equations of the Form AX= YB” IEEE Transactions on robotics and automation. Agosto de 1994. Vol 10. No 4. Editada por IEEE robotics y automation society. pp 549-554

104

Los programas del sistema de calibracion para el sistema de visión- robotica pueden ser obtenidos mandando un correo a las siguientes direcciones: 111

[email protected]

[email protected] 4