cinematica inversa geometria

8
CAPITULO V , ECUACIONES CINEMATICAS INVERSAS 5.1 Introducción Vimos en el capítulo IV como describir la cinemática de un robot manipulador mediante ecua- I ciones homogéneas 4x4. La matriz total de transformación, °Tn que indica posición y orientación del sistema de coordenadas de la herramienta con respecto a la base, puede obtenerse fácilmente rara una tarea dada. Está de más decir que generalmente ésto se efectúa automáticamente mediante un programa e información obtenida mediante, por ejemplo, una cámara. También vimos en el capí- I lulo IV que °Tn = °Aj1 A2.... n~l An, siendo 1-1 A¡ las matrices de transformación de eslabón. Si desea- mos mover cada una de las articulaciones para llevar la herramienta de la posición/orientación ¿ctual a la deseada, debemos obtener de esta ecuación expresiones para las variables de eslabón (esto es 0j ó d¡) en función de la posición y orientación deseadas para la herramienta. Ésto resulta un poco más complicado que la obtención de T ó de las As Las expresiones resultantes son las ecua- S ciones cinemáticas inversas. El motivo por el cual la tarea resulta más compleja es que, como es fácil ver en las ecuaciones (4.19) y (5.1), la matriz °Tn es una función de productos de senos y cose- nos de las variables 0¡ y también, si el brazo tiene articulaciones prismáticas, de las variables dv No existe una solución cerrada que pueda obtenerse para cualquier brazo en forma general. En este capítulo discutiremos como obtener las ecuaciones cinemáticas inversas para brazos con configuraciones típicas. 5.2 Expresión matemática del problema Como sabemos, la transformación homogénea de “n” a “0” (herramienta a base) es °Tn = °A11A2........ nlAn (5.1) Consideremos específicamente un manipulador con seis grados de libertad y articulaciones rotatorias, con la notación A(0) indicando que la matriz A es función del ángulo de rotación 0. °T6(á,ó,ü,p) - Aj (0 j)A2(02)A3(03)A4(04)A5(05)A6(06) (5.2) Como se mencionó más arriba, en general sólo es posible obtener ecuaciones transcendentales bastante complicadas a partir de esta expresión para las variables 0¡. La solución se complica aún

Upload: herygabrielmunizagaaguilera

Post on 22-Jun-2015

21 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cinematica Inversa Geometria

CAPITULO V

,ECUACIONES CINEMATICAS INVERSAS

5.1 Introducción

Vimos en el capítulo IV como describir la cinemática de un robot manipulador mediante ecua- I ciones homogéneas 4x4. La matriz total de transformación, °Tn que indica posición y orientación

del sistema de coordenadas de la herramienta con respecto a la base, puede obtenerse fácilmente rara una tarea dada. Está de más decir que generalmente ésto se efectúa automáticamente mediante un programa e información obtenida mediante, por ejemplo, una cámara. También vimos en el capí-

I lulo IV que °Tn = °A j1 A 2....n~l An, siendo 1-1 A¡ las matrices de transformación de eslabón. Si desea­mos mover cada una de las articulaciones para llevar la herramienta de la posición/orientación ¿ctual a la deseada, debemos obtener de esta ecuación expresiones para las variables de eslabón (esto es 0j ó d¡) en función de la posición y orientación deseadas para la herramienta. Ésto resulta un poco más complicado que la obtención de T ó de las As Las expresiones resultantes son las ecua-

S ciones cinemáticas inversas. El motivo por el cual la tarea resulta más compleja es que, como esfácil ver en las ecuaciones (4.19) y (5.1), la matriz °Tn es una función de productos de senos y cose­nos de las variables 0¡ y también, si el brazo tiene articulaciones prismáticas, de las variables dv No existe una solución cerrada que pueda obtenerse para cualquier brazo en forma general.

En este capítulo discutiremos como obtener las ecuaciones cinemáticas inversas para brazos con configuraciones típicas.

5.2 Expresión matemática del problema

Como sabemos, la transformación homogénea de “n” a “0” (herramienta a base) es

°Tn = °A11A2........n l An (5.1)

Consideremos específicamente un manipulador con seis grados de libertad y articulaciones rotatorias, con la notación A(0) indicando que la matriz A es función del ángulo de rotación 0.

°T6(á,ó,ü,p) - Aj (0 j)A2(02)A3(03)A4(04)A5(05)A6(06) (5.2)

Como se mencionó más arriba, en general sólo es posible obtener ecuaciones transcendentales bastante complicadas a partir de esta expresión para las variables 0¡. La solución se complica aún

Page 2: Cinematica Inversa Geometria

más porque soluciones en función de arcoseno ó arcocoseno no son aceptables, debido a dos fac­tores: a)el coseno es cero para 90°(2n-l) y el seno para 180°(n-l). n=l,2,... ; b) el seno y el cosenovarían muy lentamente en la vecindad de 90° (2n-l) y de 180°(n-l), n= l,2 ,”*, respectivamente, lo cual haría la solución muy poco exacta cerca de esos ángulos. Este problema se resuelve si la solución se expresa en función de arco tangente. Un tercer factor es que los lenguages de compu­tador de alto nivel disponen de la función ATN (arcotangente), pero no de ASN (arcsen) y ACS (arcocoseno).

Existen dos métodos principales de solución: analítico y geométrico. En el método analítico, se comparan elementos correspondientes en las dos matrices de la igualdad (5.2), tratando de obtener expresiones en términos de sen0/cos0 = tan0 = f(á,ó,ü,p) para una de las variables 0¡. La solución para dicha veriable será entonces:

0j = arctan[f(á,ó,ü,p)] (5.3)

Si no existen elementos correspondientes que produzcan este resultado, se multiplica la igualdad matricial por A f 1 y se lleva a cabo nuevamente la comparación usando la ecuación resultante. El ángulo 0j aparece ahora en el lado izquierdo de la ecuación y es bastante posible que la razón sen0j/cos0j de dos términos en el lado izquierdo corresponda a la razón de dos constantes en el lado derecho. Este método, descrito aquí a grandes rasgos, puede simplificarse usando partición de matrices, lo cual será discutido en este capítulo más adelante.

El método geométrico se basa, esencialmente, en aplicar relaciones trigonométricas a proyec­ciones planas de la geometría del brazo tridimensional. Aunque el concepto es simple, la visuali- zación de la geometría tridimensional del brazo y su proyección a planos se complica enormemente si se incluye la mano (en otras palabras, resulta relativamente sencilla para los pri­meros tres grados de libertad, pero no para los tres últimos).

5.3 Método geométrico de solución

Como se acaba de mencionar, este método es generalmente fácil de aplicar para los primeros tres eslabones pero se hace confuso y propenso a errores si se quiere aplicar a los grados de liber­tad de la mano. Cuando se aplica el método geométrico a las tres primeras articulaciones, se debe recordar que vector de posición se referirá al punto donde se encuentra el origen del sistema decoordenadas {3}, generalmente el extremo del tercer eslabón. El vector de posición °p6 tiene dos

componentes, °p3 = pb (brazo) y 3p6 = p m (mano), ver figura 5.1,donde

P 3 =

Pxb

Pyb

P zb

(5.4)

Page 3: Cinematica Inversa Geometria

Pm

Figura 5.1 Componentes del vector °p6

5 H vector desde el origen de la base al extremo del tercer eslabón (sin incluir la muñeca) y - es el vector desde ese punto al origen del sistema de coordenadas á,ó,ü, de modo que

°P6 = °P3+ 3 P6 (5.5)

De estos tres vectores, sólo °p3 = pb es desconocido. En efecto, con referencia a la figura 5.2,

vector Jp6 puede expresarse en función de su valor absoluto (longitud) y de los ángulos P y (j>. que el vector unitario á está siempre en la dirección de p mde manera que

Page 4: Cinematica Inversa Geometria

P = atanZ J

puesto que ax, ay y az se conocen de la matriz de tarea, lo mismo que °p6

(5.7)

Ux °x a x Px

u y oy ay py

uz ° z a z Pz

0 0 0 1

(5.8)

Los ángulos a y p están, por supuesto, referidos al sistema de coordenadas de base.

La longitud (valor absoluto) de 3P6='Pm es conocida (o medible) y el vector 3p6, referido al sistema de base, se obtiene de

Pe =

p msen Pcos<|)

p msenfisen§

p m cosp

(5.9)

Puesto que °p6 = °P3 + 3p 6, tendremos para los componentes de °p3 en laS direcciones x,y,z:

Pxb = °P3x = Px - pmsinpcos(|) (5.10a)

Pyb= °P3y= Py - pmsinPsin<t) (5.10b)

Pzb = °P3z = Pz - PmC0SP (5.10c)

Ejemplo E5.1 Consideremos el brazo esférico (rotatorio, rotatorio, prismático) de la figura E5.1.

Notemos, en primer lugar, que estamos considerando sólo el brazo, sin la herramienta o mano. Siguiendo el procedimeinto del capítulo IV, elegimos los sistemas coordenados como se indica en la figura. Los sistemas {0}, {1} y {2} se eligen todos con un origen común, lo cual simplifica la obtención de los parámetros eslabón y las matrices A, al hacer el valor del pará­metro “a” igual a cero para los tres eslabones. Las variables son 0j para las articulaciones 1 y 2, y d3 para la tercera.

Page 5: Cinematica Inversa Geometria

Figura E5.1a Un brazo manipulador esférico (RRP)

Los parámetros eslabón se obtienen como se señaló en el capítulo IV y se indican en la tabla E5.1:

Tabla E5.1: Parámetros eslabón para el brazo esférico

eslabón e i ai «i di

1 01 0 -90 0

2 02 0 90 0

3 0 0 0 ^3

Como acabamos de ver, si se tiene la matriz de tarea, se puede obtener °T3. Para esta configu­ración, son igualmente sencillas las soluciones analítica y geométrica. Veamos primero la analí­tica. Usando la tabla de parámetros eslabón obtenemos las matrices 1-1 A¡:

a , =

c, 0 —s j 0

0 Cj 0

0 - 1 0 0 0 0 0 1

Page 6: Cinematica Inversa Geometria

Cj O 2 O s2 O - c 2O

O l O O 0 0 0 1

3 =

1 0 0 0

0 1 0 0 O O 1 d3

0 0 0 1

La matriz de tarea es:

Trrp = [ ü 6 a P|}] = 0 A 1] A 22A 3

donde pb = °p3 = [px py Pzb]*' Multiplicando las tres matrices A, tenemos

(5.11)

c \c2 ^ 1 ^\s2 - - - Pxb

s \c2 — - - - Pyb

~ s2 0 C2 ^2^3 - - - Pzb

_ 0 0 0 1 - - - 1

Hemos indicado sólo la última columna de °T3 porque es la única que contiene información válida, ya que al no incluir la mano, no podemos controlar o especificar la orientación, sino solamente la posición. Recordemos ahora que la solución debe ser en función de arcotangente. Vemos que igua­lando elementos correspondientes de la última columna a los dos lados de la ecuación, tendremos:

cos01sen02d3 = pxb sen01sen02d3 = pyb

cos02d3 = pzb

(a)(b) (c)

Dividiendo la segunda ecuación por la primera,

senQxsenQ2d^eos

Pjb

Pxb

Simplificando,

0i = atanPxb

(5.12)

Page 7: Cinematica Inversa Geometria

Elevando al cuadrado las ecuaciones (a) y (b) sumándolas y usando la relación sen2(x)+cos2(x) = 1,

Finalmente, elevando (c) al cuadrado y sumándo el resultado a los cuadrados de (a) y (b),

Hemos usado sólo el signo positivo para d3 porque ésta es una distancia y por !o tanto positiva. Sin embargo queda por resolver la ambigüedad del doble signo en el resultado para 02. Con refe­rencia a la figura E5.1a, vemos que si el brazo se mueve de su posición inicial, en la que 02 = 0 a

la posición indicada en la figura E5.1b, el valor de 02 será positivo y menor de 90°, por lo cual debemos elegir el signo positivo en (5.12) para obtener el resultado correcto. Si se hubiera ele­gido en la dirección opuesta, habría que elegir el signo negativo

sen202 d32 = pxb2 + pyb2

Dividiendo esta expresión por la ecuación (c),

P zb(5.13)

d32 = Pxb2 + Pyb2 + Pzb2

o sea,

Z,

o

X,oFigura E5.2b El brazo esférico girado sobre los ejes Z0 y Z i

Page 8: Cinematica Inversa Geometria

Esta solución, sin embargo, no es completamente satisfactoria, ya que si, por ejemplo, el brazo se ha movido al tercer cuadrante del plano X0Y0, como vemos en (5.13), el resultado para 02 no sería correcto. La forma de remediar esto es buscar una solución alternativa para 02. Si premulti-

plicamos (5.11) por ^ A j)”1 y llevamos a cabo la multiplicación de matrices en ambos lados de la ecuación resultante, la última columna de la matriz a ambos lados de la ecuación será

c \Pxb + S \Pyb s2d3

~Pz = ~c2^3

~ s lPxb + c \Pyb 0

1 1

(5.15)

de donde obtenemos, igualando la razón de los elementos 1 y 2 a ambos lados de la igualdad,

PxbC\ + P y b S \ _ ^2_-Pzb - C n

(5.16)

de donde,

02 = Atan2 (pxbc , +pybs ,, pzb) (5.17)

Es fácil comprobar que esta expresión produce el resultado correcto para cualquier cuadrante. Tenemos, entonces,

0! = Atan2(pxb/pyb)

02 = Atan2(pxbc j +pybs j, pzb)

d 3 = (Pxb2 + Pyb2 + Pzb2) 1/2

(5.12)

(5.17)

(5.14)

Este ejemplo es práctico (ya que muchos robots industriales son RRP) e instructivo, ya que hemos visto en él que hay que ser extremadamente cuidadoso en el análisis para obtener resulta­dos correctos.