Download - 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 deseamos 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 cosenos 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
más porque soluciones en función de arcoseno ó arcocoseno no son aceptables, debido a dos factores: 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 computador 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 proyecciones 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 primeros 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 libertad 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)
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
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.
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 configuració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
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 igualando 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)
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 referencia 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 elegido 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
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 resultados correctos.