Objetivo El objetivo del presente trabajo es el de aplicar un mtodo para resolver la cinemtica directa aplicada a un robot esfrico o polar.
En este caso se utiliza el algoritmo de Denavid-Hartenberg.
Introduccin La configuracin esfrica posee dos articulaciones rotatorias y una articulacin prismtica. Cada una de ellas puede realizar un movimiento distinto: rotacional, angular y lineal. Este robot utiliza la interpolacin por articulacin lineal para la extensin y retraccin en el par prismtico.
La configuracin esfrica permite realizar movimientos rotacionales, lineales y angulares. El sistema brazo robot dispone de tres grados de libertad de acuerdo a la configuracin esfrica.
Figura 1. Configuracin polar o esfrica.
Cinemtica del robot
La cinemtica del robot estudia el movimiento con respecto a un sistema de referencia sin considerar las fuerzas que intervienen el l. As, la cinemtica se interesa por la descripcin analtica del movimiento espacial del robot como una funcin del tiempo, y en particular de las relaciones entre la posicin y la orientacin final del robot con los valores que toman sus coordenadas articulares.
Existen dos problemas fundamentales a resolver en la cinemtica del robot; el primero se conoce como el problema cinemticos directo o cinemtica directa, y consiste en determinar cul es la posicin y orientacin del extremo final del robot, con respecto a un sistema de coordenadas que se toma como referencia, conocido los valores de las articulaciones y los parmetros geomtricos de los elementos del robot; el segundo, denominado problema cinemtico inverso o cinemtica inversa, resuelve la configuracin angular que debe adoptar el robot para una posicin y orientacin del extremo conocidas.
Denavid Hartenberg propusieron un mtodo sistemtico para describir y representar la geometra espacial de los elementos de una cadena cinemtica, y en particular de un robot, con respecto a un sistema de referencia fijo. Este mtodo utiliza una matriz de transformacin homognea para describir la relacin espacial entre dos elementos rgidos adyacentes, reducindose el problema cinemtico directo a encontrar una matriz de transformacin homognea 4x4 que relacione la localizacin espacial del extremo del robot con respecto al sistema de coordenadas de su base.
El modelo cinemtico directo es el problema geomtrico que calcula la posicin y orientacin del efector final del robot dados una serie de ngulos entre las articulaciones con respecto al marco referencial de la base del manipulador. Para esto es necesario conocer los valores de las articulaciones y los parmetros geomtricos de los elementos del robot.
ngulo de articulaciones: q1,q2,q3...,qn.
Cinemtica directa
Posicin y orientacin del efector final: x, y, z, , ,
Posicin y orientacin del efector final: x, y, z, , ,
Cinemtica indirecta
ngulo de articulaciones: q1,q2,q3...,qn.
Figura 2. Cinemtica directa e indirecta.
Matrices homogneas Una matriz homognea sirve para transformar un vector expresado en coordenadas homogneas con respecto a un sistema O'UVW, a su expresin en las coordenadas del sistema de referencia OXYZ. Tambin se puede utilizar para rotar y girar un vector referido a un sistema de referencia fijo, y en definitiva sirve para expresar la orientacin y posicin de un sistema de referencia O'UVW con respecto a otro fijo OXYZ.
La matriz T de transformacin su suele escribir de la siguiente forma:
La ecuacin muestra el significado geomtrico de las matrices homogneas. Donde n, o y a es una terna ortonormal que representa la orientacin y p es un vector que representa la posicin del efector final del robot.
Parmetros de Denavid-Hartenberg para la obtencin del modelo cinemtico directo
Los cuatro parmetros de Denavid-Hartenberg (i di ai i) dependen nicamente de las caractersticas geomtricas de cada eslabn y de las articulaciones que le unen con el anterior y siguiente.
ai: Es la distancia entre los ejes i e i+1 de las articulaciones a lo largo de la normal comn. Este parmetro define la longitud del eslabn.
i: Es el ngulo que existira entre los ejes i e i+1 de las articulaciones si stos se cortasen en los puntos de corte de la lnea normal comn. Este parmetro en cierto modo mide la forma del eslabn a travs del ngulo que sobre el mismo se encuentra girado, por lo que se le conoce como ngulo de torsin del eslabn.
di: Es la distancia entre las intersecciones de las normales comunes al eje de la articulacin i, medida a lo largo de dicho eje. Esta medida expresa en cierto modo la distancia entre los dos eslabones, marcados por el tamao y forma de la articulacin, por lo que se denomina longitud articular.
i: Es el ngulo que existira entre las intersecciones de las normales comunes al eje de la articulacin i si se cortasen en el mismo punto del eje de la articulacin. De alguna forma expresa el ngulo que forman dos eslabones, marcado nuevamente por la forma de la articulacin, por lo que se denomina ngulo articular.
Figura 3. Parmetros de Denavid-Hartenberg.
Los pasos del algoritmo genrico para la obtencin de los parmetros de DenavidHartenberg son los siguientes:
1. Numerar los eslabones: se llamar "0" a la "tierra", o base fija donde se ancla el robot. "1" el primer eslabn mvil, etc. 2. Numerar las articulaciones: La "1" ser el primer grado de libertad, y "n" el ltimo. 3. Localizar el eje de cada articulacin: Para pares de revolucin, ser el eje de giro. Para prismticos ser el eje a lo largo del cual se mueve el eslabn. 4. Ejes Z: Empezamos a colocar los sistemas XYZ. Situamos los Zi-1 en los ejes de las articulaciones i, con i=1,...,n. Es decir, Z0 va sobre el eje de la 1 articulacin, Z1 va sobre el eje del 2 grado de libertad, etc. 5. Sistema de coordenadas 0: Se sita el punto origen en cualquier punto a lo largo de Z0. La orientacin de X0 e Y0 puede ser arbitraria, siempre que se respete evidentemente que XYZ sea un sistema dextrgiro. 6. Resto de sistemas: Para el resto de sistemas i=1,...,N-1, colocar el punto origen en la interseccin de Zi con la normal comn a Zi y Zi+1. En caso de cortarse los dos ejes Z, colocarlo en ese punto de corte. En caso de ser paralelos, colocarlo en algn punto de la articulacin i+1. 7. Ejes X: Cada Xi va en la direccin de la normal comn a Zi-1 y Zi, en la direccin de Zi-1 hacia Zi. 8. Ejes Y: Una vez situados los ejes Z y X, los Y tienen su direcciones determinadas por la restriccin de formar un XYZ dextrgiro. 9. Sistema del extremo del robot: El n-simo sistema XYZ se coloca en el extremo del robot (herramienta), con su eje Z paralelo a Zn-1 y X e Y en cualquier direccin vlida. 10. ngulos teta: Cada i es el ngulo desde Xi-1 hasta Xi girando alrededor de Zi. 11. Distancias d: Cada di es la distancia desde el sistema XYZ i-1 hasta la interseccin de las normales comn de Zi-1 hacia Zi, a lo largo de Zi-1. 12. Distancias a: Cada ai es la longitud de dicha normal comn.
13. ngulos alfa: ngulo que hay que rotar Zi-1 para llegar a Zi, rotando alrededor de Xi. 14. Matrices individuales: Cada eslabn define una matriz de transformacin.
( Matriz de Transformacin
15. Transformacin total: La matriz de transformacin total que relaciona la base del robot con su herramienta es la multiplicacin de todas esas matrices:
Matriz de Transformacin Total
Dicha matriz T permite resolver completamente el problema de cinemtica directo en robots manipuladores, ya que dando valores concretos a cada uno de los grados de libertad del robot, obtenemos la posicin y orientacin 3D de la herramienta en el extremo del brazo.
MEMORIA DE CLCULOS
CINMATICA DIRECTA APLICANDO EL ALGORITMO DE DENAVID-HARTENBERG
Aplicando los pasos 1 y 2.
Aplicando los pasos 3, 4, 5 y 6.
Aplicando pasos 7 y 8.
Parmetros de Denavid-Hartenberg
L1 = 115 mm L2 = 30 mm L3 = 181 mm Articulacin 1 2 3 i 0 0 0 di L1 0 181 ai 0 -L2 0 i 90 -90 0
Matrices de transformacin para el algoritmo de Denabit-Hartenberg
Forma generalizada | |
( Para la articulacin 1 |
( | |
( | |
Para la articulacin 2 | |
( | |
Para la articulacin 3 | |
( | |
Multiplicacin de matrices usando MatLab
>> A1=[1 0 0 0;0 0 -1 0;0 1 0 115;0 0 0 1] A1 = 1 0 0 0 0 0 1 0 0 0 0 0
-1
115 1
>> A2=[1 0 0 -30;0 0 1 0;0 -1 0 0;0 0 0 1] A2 = 1 0 0 0 0 0 -1 0 0 -30
1 0 0
0 1
>> A3=[1 0 0 0;0 1 0 0;0 0 1 181;0 0 0 1] A3 = 1 0 0 0 0 1 0 0 0 0 1 0 0 181 0 1
>> T3=A1*A2*A3 T3 = 1 0 0 0 0 1 0 0 0 0 1 0 -30
296
0 1
El resultado da una coordenada de: X=-30 Y=0 Z=296
Solucin del problema usando MatLab y la herramienta Robot
En primer lugar usar la funcin link para introducir los parmetros de Hartenberg en cada una de las articulaciones. La forma generalizada de la funcin es: [ ]
= Indica tipo de articulacin (si es rotativa se coloca un 0, si es de traslacin se coloca un 1).
>> L1=link([pi/2 0 0 115 0]) L1 = 1.570796 0.000000 0.000000 115.000000 R (std)
>> L2=link([-pi/2 -30 0 0 0]) L2 = -1.570796 -30.000000 0.000000 0.000000 R (std)
>> L3=link([0 0 0 0 1]) L3 = 0.000000 0.000000 0.000000 0.000000 P (std)
>> R=robot({L1 L2 L3}) R = noname (3 axis, RRP) alpha grav = [0.00 0.00 9.81] 0.000000 0.000000 A 0.000000 0.000000 0.000000 theta standard D&H parameters 115.000000 0.000000 0.000000 D R R P R/P (std) (std) (std)
1.570796 0.000000
-1.570796
-30.000000
Para finalizar se resuelve la matriz homognea mediante la funcin fkine(R,* 1 2 D3+), en donde: 1=0 2 = 0 D3 = 181 Los cuales son las variables que al manipularlas girarn al robot para que este nos des las coordenadas del efector final. >> fkine(R,[0 0 181 ]) ans = 1 0 0 0 0 1 0 0 0 0 1 0 -30 0 296 1
El resultado de la matriz es la coordenada: X = -30 Y=0 Z = 296 Las cuales son las coordenadas en donde se localiza el efector final.
Para graficar el robot se usa la siguiente expresin: >> plot(R,[0 0 181])
Usando el software libre Robotic Arm Kinematic Gui se puede simular la posicin del robot introduciendo los parmetros de Denavid-Hartenberg para as poder verificar los resultados.
Lo cual se puede constatar de manera fcil, esto debido a que la coordenada X sera igual al valor de L2, la coordenada Y igual a 0 y Z sera igual al valor de las longitudes de las dos articulaciones L1 + L3 . X = L2 = -30 Y=0 Z = L1 + L3 = 115 + 181 = 296
Cuando: 1 = 90, 2 = 0, D3 = 181 Las coordenadas del efector final son: X = 0, Y = -30, Z = 296 En MatLab >> fkine(R,[pi/2 0 181 ]) ans = 0.0000 1.0000 0 0 -1.0000 0 0 -0.0000
0.0000 0
1.0000 0
-30.0000 1.0000
296.0000
Cuando: 1 = -90, 2 = 0, D3 = 181 Las coordenadas del efector final son: X = 0, Y = -30, Z = 296 En MatLab >> fkine(R,[-pi/2 0 181 ]) ans = 0.0000 0 0 1.0000 0 0 -0.0000
-1.0000
0.0000 0
1.0000 0
296.0000 1.0000
30.0000
Cuando: 1 = 0, 2 = -90, D3 = 181 Las coordenadas del efector final son: X = 181, Y = 0, Z = 145 En MatLab >> fkine(R,[0 pi/2 181 ]) ans = 0.0000 0.0000 1.0000 181.0000 145.0000 1.0000 -0.0000
-0.0000 -1.0000 0
-0.0000 0
1.0000
-0.0000 0.0000 0
Clculos de velocidad mediante la matriz Jacobiana
Tres grados de libertad: Dos de revolucin Uno prismtico
0 1 2
T1 = A1 T 2 = A1 * A2 T3 = A1 * A2 * A3
>> T1=A1 T1 = 1 0 0 0 0 1 0 0
0 0 -1 0 0 115 0 1
>> T2=A1*A2 T2 = 1 0 0 -30 0 1 0 0 0 0 1 115 0 0 0 1 >> T3=A1*A2*A3 T3 = 1 0 0 -30 0 1 0 0 0 0 1 296 0 0 0 1
[ ]
[ ]
[ ]
[ ]
Resolucin del jacobiano utilizando la herramienta robot de MatLab
En primer lugar se ingresan los parmetros de Denavid-Hartenberg >> L1=link([pi/2 0 0 115 0]) L1 = 1.570796 0.000000 0.000000 115.000000 R (std)
>> L2=link([-pi/2 -30 0 0 0]) L2 = -1.570796 -30.000000 0.000000 0.000000 R (std)
>> L3=link([0 0 0 181 1]) L3 = 0.000000 0.000000 0.000000 0.000000 P (std)
>> R=robot({L1 L2 L3}) R = noname (3 axis, RRP) alpha grav = [0.00 0.00 9.81] 0.000000 0.000000 A 0.000000 0.000000 0.000000 theta standard D&H parameters 115.000000 0.000000 181.000000 D R R P R/P (std) (std) (std)
1.570796
-1.570796 0.000000
-30.000000
>> J = jacobn(R,[-30 0 296]) J= 0 -296.0000 0 -30.0000 -0.0000 0 0 -30.0000 1.0000 0 0 0 0 -1.0000 0 1.0000 0.0000 0
El resultado anterior nos da las relaciones de velocidad.