Documente Academic
Documente Profesional
Documente Cultură
La cinematica del robot estudia el movimiento del mismo con respecto a un sistema de referenda. Asi, la cinematica se interesa por la descripcion analftica del movimiento espacial del robot como una funcion del tiempo, y en particular por las relaciones entre la posicion y la orientacion del extremo final del robot con tos valores que toman sus coordenadas articulares. Existen dos problemas fundamentales a resolver en la cinematica del robot (Figura 4.1); el primero de ellos se conoce como el problema cinematico directo, y consiste en determinar cual es la posicion y orientacion del extremo final del robot, con respecto a un sistema de coordenadas que se toma como referenda, conocidos los valores de las articulaciones y los parametros geometricos de los elementos del robot; el segundo, denominado problema cinematico inverso, resuelve la configuracion que debe adoptar el robot para una posicion y orientacion del extremo conocidas. Denavit y Hartenberg propusieron un metodo sistematico para describir y representar la geometna espacial de los elementos de una cadena cinematica, y en particular de un robot, con respecto a un sistema de referencia fijo. Este metodo utiliza una matriz de transformacion homogenea para describir la relacion espacial entre dos elementos rigidos adyacentes, reduciendose el problema cinematico directo a encontrar una matriz de transformacion homogenea 4x4 que relacione la localizacion espacial del extremo del robot con respecto al sistema de coordenadas de su base. Por otra parte, la cinematica del robot trata tambien de encontrar las relaciones entre las velocidades del movimiento de las articulaciones y las del extremo. Esta relacion viene dada por el modelo diferencial expresado mediante la matriz Jacobiana.
93
94 Fundamentos de robotica
4.1.
Cinematica inversa
EL
(qq-,qj
4.1.1. Resolution del problema cinematico directo mediante matrices de transformacion homogenea
La resolution del problema cinematico directo consiste en encontrar las relaciones que permiten conocer la localizacion espacial del extremo del robot a partir de los valores de sus coordenadas articulares. Asi, si se han escogido coordenadas cartesianas y angulos de Euler para representar la posicion y orientacion del extremo de un robot de seis grados de libertad, la solution al problema cinematico directo vendra dada por las relaciones:
* = fx(?l>42>43>?4><?5>?6)
y = fy (4 I >9243*44'4 S >?6)
z
= (01.tf2.$3'$4.0S.?6)
f
fz(4p42.?3,44>4s'?6)
[4.1}
Cinematica del robot 95 La obtencion de estas relaciones no es en general complicada, siendo incluso en ciertos casos (robots de pocos GDL) facil de encontrar mediante simples consideraciones geometricas. Por ejemplo, para el caso de un robot con 2 GDL (Figura 4.2), es facil comprobar que:
[4. 2]
Para robots de mas grados de libertad puede plantearse un metodo sistematico basado en la utilizacion de las matrices de transformacion homogenea. En general, un robot de n grados de libertad esta formado por n eslabones unidos por n articulaciones, de forma que cada par articulacion-eslabon constituye un grado de libertad. A cada eslabon se le puede asociar un sistema de referencia solidario a el y, utilizando las transformaciones homogeneas, es posible representar las rotaciones y traslaciones relativas entre los distintos eslabones que componen el robot. Normalmente, la matriz de transformacion homogenea que representa la posicion y orientacion relativa entre los sistemas asociados a dos eslabones consecutivos del robot se suele denominar matriz 1-1 Aj. Asi pues, Ai describe la posicion y orientacion del sistema de referencia solidario al primer eslabon con respecto al sistema de referencia solidario a la base, *A2 describe la posicion y orientacion del segundo eslabon respecto del primero, etc. Del mismo modo, denominando Ak a las matrices resultantes del producto de las matrices '"'Aj con i desde 1 hasta k, se puede representar de forma total o parcial la cadena cinematica que forma el robot. Asi, por ejemplo, la posicion y orientacion del sistema solidario con el segundo eslabon del robot con respecto al sistema de coordenadas de la base se puede expresar mediante la matriz A2:
96 Fundamentos de robotica
ii
[4. 3]
A3=0AJ 1A2 2 A3
[4. 4]
Cuando se consideran todos los grados de libertad, a la matriz A n se le suele denominar T. Asi, dado un robot de seis grados de libertad, se tiene que la posicion y orientacion del eslabon final vendra dada por la matriz T : T=A 6 = A i 1 A 2 2 A 3 3 A 4 4 A 5 5 A 6
[4. 5]
Aunque para describir la relacion que existe entre dos elementos contiguos se puede hacer uso de cualquier sistema de referencia ligado a cada elemento, la forma habitual que se suele utilizar en robotica es la representation de Denavit-Hartenberg (D-H). Denavit y Hartenberg [DENAVIT-55] propusieron en 1955 un metodo matricial que permite establecer de manera sistematica un sistema de coordenadas {Si} ligado a cada eslabon i de una cadena articulada, pudiendose determinar a continuation las ecuaciones cinematicas de la cadena completa [PAUL-81]. Segun la representation de D-H, escogiendo adecuadamente los sistemas de coordenadas asociados a cada eslabon, sera posible pasar de uno al siguiente mediante 4 transformaciones basicas que dependen exclusivamente de las caracterfsticas geometricas del eslabon. Estas transformaciones basicas consisten en una sucesion de rotaciones y traslaciones que permiten relacionar el sistema de referencia del elemento i con el sistema del elemento i-1. Las transformaciones en cuestion son las siguientes (es importante recordar que el paso del sistema {S^} al {Sj} mediante estas 4 transformaciones esta garantizado solo si los sistemas {Si_i}y {Sj} han sido definidos de acuerdo a unas normas determinadas que se expondran posteriormente):
1. Rotation alrededor del eje Z\.\ un angulo 0j. 2. Traslacion a lo largo de Zj. j una distancia dj; vector dj (0,0,di). 3. Traslacion a lo largo de x, una distancia a;; vector as (0,0,aj). 4. Rotation alrededor del eje Xj un angulo cxj.
Dado que el producto de matrices no es conmutativo, las transformaciones se han de realizar en el orden indicado. De este modo se tiene que:
[4. 6]
11
A, = T (z , 0 J )T ( O, O, d I ) T (a l , O, O )T (x , a i )
98 Fundamentos de robotica
"ce, se4
0 0
-S0J 0
0 "1 0 0 01 0 00 1 00 _
1 0 0 1 0 0 0 0
0 0 1 0
1 0
0 0 0 1
ce; o
01 00
00 1 d, 01
0 1_ _ 0
ce, se,
0 0
so^so, -So^ce, Ca
0
j
a.ce," aisei d,
1
donde 0; , ai , d; , a, son los parametros D-H del eslabon i. De este modo, basta con identificar los parametros 0,, a*, di, a, para obtener las matrices A y relacionar asi todos y cada uno los eslabones del robot. Como se ha indicado, para que la matriz 1-1 A,, definida en [4.7] relacione los sistemas {Si} y {SM }, es necesario que los sistemas se hayan escogido de acuerdo a unas determinadas normas. Estas, junto con la definition de los 4 parametros de Denavit Hartenberg, conforman el siguiente algoritmo para la resolution del problema cinematico directo:
Los ejes x0 e
yo
se
D-H 6. Para i de 1 a n-1, situar el sistema {Sj} (solidario al eslabon i) en la intersection del eje Zj con la lrnea normal comun a z,.\ y z,. Si ambos ejes se cortasen se situaria {Sj} en el punto de corte. Si fuesen paralelos {Sj} se situaria en la articulation i+1. D-H 7. Situar Xj en la lfnea normal comun a Zji y Zj.
D-H 8. Situar y; de modo que forme un sistema dextrogiro con Xj y Zj. D-H 9. Situar el sistema {Sn} en el extremo del robot de modo que z n coincida con la direction de z_i y xn sea normal a z .j y zn.
n
D-H 10. Obtener 0i como el angulo que hay que girar en torno a lelos. D-H 11. Obtener dj como la distancia, medida a lo largo de ra que Xj y xu quedasen alineados.
Zj_t,
Zj. j
para que
Xj. j
y x4 queden para-
DH 12. Obtener a* como la distancia medida a lo largo de Xj (que ahora coincidiria con bria que desplazar el nuevo {Sj.i} para que su origen coincidiese con {Sj}. DH 13. Obtener Oj como el angulo que habria que girar entorno a para que el nuevo {S^} coincidiese totalmente con {Si}. DH 14. Obtener las matrices de transformacion 1-1 Aj definidas en [4.7].
Xj
Xj_()
que ha-
Xn),
DH 15. Obtener la matriz de transformacion que relaciona el sistema de la base con el del extremo del robot T = 0AI,'A2.. N LAN. DH 16. La matriz T define la orientacion (submatriz de rotation) y posicion (submatriz de traslacion) del extremo referido a la base en funcion de las n coordenadas articulares.
'"toufacion i+i
Los cuatro parametros de D-H (6;, di5 aj, Oi) dependen unicamente de las caracteristicas geometricas de cada eslabon y de las articulaciones que le unen con el anterior y siguiente. En concreto estos representan (Figura 4.3):
0j Es el angulo que forman los ejes
Xj.j y Xj medido en un piano perpendicular al eje ZM, utilizando la regla de la mano derecha. Se trata de un parametro variable en articulaciones giratorias. dj Es la distancia a lo largo del eje Zj.j desde el origen del sistema de coordenadas (i-1)esimo hasta la intersection del eje Zn con el eje Xj. Se trata de un parametro variable en articulaciones prismaticas. ^ Es la distancia a lo largo del eje Xi que va desde la intersection del eje z,,\ con el eje x, hasta el origen del sistema i-esimo, en el caso de articulaciones giratorias. En el caso de articulaciones prismaticas, se calcula como la distancia mas corta entre los ejes Zn y Zj. ctj Es el angulo de separation del eje Zn y el eje Zj, medido en un piano perpendicular al eje Xj, utilizando la regla de la mano derecha.
Una vez obtenidos los parametros D-H, el calculo de las relaciones entre los eslabones consecutivos del robot es inmediato, ya que vienen dadas por las matrices A, que se calculan segun la expresion general [4.7]. Las relaciones entre eslabones no consecutivos vienen dadas por las matrices T que, como ya se comento anteriormente, se obtienen como producto de un conjunto de matrices A.
Obtenida la matriz T, esta expresara la orientacion (submatriz (3 x 3) de rotation) y posicion (submatriz (3 x 1) de traslacion) del extremo del robot en funcion de sus coordenadas articulares, con lo que quedara resuelto el problema cinematico directo. Tablajt^^Parametro^^Hjjjai^jhx^ Articulation
1 2 3 4 e 90 0
<?4
d 1. d2 d3 14
a
0 0 0 0
a
0 90 0 0
Ejemplo 4.1. _______ ___________________________________________________________________ Con el fin de ilustrar el metodo expuesto anteriormente, se va a desarrollar a continuation la resolution completa del problema cinematico directo para un robot cilfndrico. En primer lugar, se localizan los sistemas de referencia de cada una de las articulaciones del robot (Figura 4.4). Posteriormente se determinan los parametros de Denavit-Hartenberg del robot, con los que se construye la Tabla 4.1. Una vez calculados los parametros de cada eslabon, se calculan las matrices A, sustituyendo en la expresion general [4.7] de la siguiente manera :
c,
s
-S,
c, 0 0 00 10 01 00
0 0 1 0 0 " 0
d
0 " 0 1 , 1
--1
" 01 0 1 00
A. =
0" 0
d2
A, = =
0 0 " 1 0
0 10 0 00
"C
4
1 0 0 1 0 0 0 u 1
-S4 C4
A, =
S4
A, =
4
0 0
0 0
0 0
Asi pues, se puede calcular la matriz T que indica la localizacion del sistema final con respecto al sistema de referencia de la base del robot.
-S,c4
T=A 1 lA 22A,, A4 =S
s,s4
C,c 4
4
-C,s 4 C4 0
Tabla 4.2. Parametros D-H para un robot IRB6400C Articulation _______ 0 ___________ d ___________ a ____________ a 1 0, 0 0 -90 2 02 I, 0 90 3 e.,-90 0 -12 90 4 04 13 0 -90 5 05 0 0 90 6 _ _ _ _ _ _ _ _ 0 6 _ _ _ _ _ _ _ _ _ U _____________0_______________ 0
Ejemplo 4.2. Se va a desarrollar a continuation la resolution completa del problema cinematico directo para un robot IRB6400C. En primer lugar, y siguiendo el algoritmo de Denavit-Hatenberg, se localizan los sistemas de referencia de cada una de las articulaciones del robot (Figura 4.5).Posteriormente se determinan los parametros de Denavit-Hartenberg del robot, con los que se construye la Tabla 4.2. Se calculan ahora las matrices A, sustituyendo en la expresion general de la siguiente manera :
C, S,
0 0
-1
-s, C, 0 0
0 " 0 0 1
S3 -C3 0 0 0 0 -C3 -S3 0 0
0 0
'A, = 2
"C2 0 S2 s2 0 -C2
0 0
1 , 1
0 0
0 0 0
-1
0 0
-12S c4 12C3 s4
0
-s4 0 c4 0
0 13
1
0
1 0 "C6 S6
A6 =
0 ~S6 C6 0 0
0 0 0 1 0
1 0 0 1
4
C5 S5 0 0
0 S5 0 -C5 1 0 0 0
0 " 0 0 1
0 0
Asi pues, se puede calcular la matriz T que indica la localizacion del sistema asociado al tremo del robot con respecto al sistema de referencia de la base del robot:
"x
n
x
a
Px
Py Pz
y z
y z
continuation
se
desarrollan
los
terminos
de
la
matriz
T.
n,
(CiC,S3
S,C3)(C4C5C6
-S4S6)
C,S,(S4C5C6
+C4S6)
(-C,C2C,
+S,S,)S5C6
ny = n, =
( StC2S3 + S!C3)(C4C5C6 -S.SJ + S.S^S^Q + C4S6) + (-S,C2C3 -C,S3)S5C6 (-S2S3)(c4C5C6-S4S6) + C2(s4C5C6+C4Sf,) + S2C,S,C6 + S,C,)(-C4C5C6 - S 4 S 6 ) + C,S2(-S4C5C6 +C4S6)+(-C,C2C3 + S , S , ) ( - S 5 C 6 )
= (c,c2s3
o, oL
(-S,C2S3
+S,C3)(-C1C5C6
-S4S6)
S,S2(-S4C5C6
+C4S,,)
(-S,C2C3
-C,S3)(-S5C6)
p,
+S1S,)(-14C, +13)+
P, = ( - S 2 S , ) ( l 4 C 4 C 5 ) + C 2 ( l 4 S 4 S 5 ) + S 2 C 3 ( - l 4 C s + l J ) + l 2 S 2 S ,
Para calcular las ecuaciones anteriores se necesita realizar 12 llamadas a funciones transeendentes, ademas de numerosas sumas y productos, teniendo en cuenta que el vector a se calcula como el producto vectorial de los vectores n y o (a = n x o). Como se ve, en estas ecuaciones queda reflejado el valor de la posicion (px, py, pz) y orientacion (n,o,a) del extremo del robot en funcion de las coordenadas articulares (0],02,03>04,05,06)-
1. Desplazamiento de {S0} una distancia 1] a lo largo del eje Zo y giro un angulo q\ alrededor del eje Zo , llegandose a {S i}. 2. Desplazamiento de {Si} una distancia I2 a lo largo del eje Xj y giro un angulo q2 alrededor del nuevo eje z, para llegar al sistema {S2}. 3. Desplazamiento a lo largo del eje x2 una distancia I3 para llegar al sistema {S3}. 4. Desplazamiento de {S3} una distancia q$ a lo largo del eje z3 y giro en torno a z4 de un angulo q 4 , l l e gan d o s e f i n al m en t e a { S 4 } . De manera abreviada las sucesivas transformaciones quedan representadas por:
S o S, s2 S 3 -S,: ^ S2: S3: S4:
P! =(0,0,1,)
p2 =(12,0,0)
P 3 =03,O,O)
[4. 9]
P4
=(0,0,-q3)
Qi - (Cj ,0,0,Sj)
[4. 10]
C; = cos S, sen|~Y
/ Si
v 2 ;
[4.11 ]
Aplicando las ecuaciones [3.62] y [3.63] de uso de cuaternios, un objeto localizado en el sistema de referencia {Sj} por su vector de posicion a* y su cuaternio de rotation Rj, tendra en el sistema de referencia {Su} el vector de posicion an y el cuaternio Rn siguientes1:
(0,a,1) = Qi(0,ai)Q:+(0,pi)
R
[4.12]
Q i
(O,a0) = Q,(O,a,)Q;+(O,p1)
R
Q,R,
=Q,R3
=
(^P|)
[4.i5]
Q JQ 2 =(C I2,O,O,S12)
y que: Qy = (QiQj)* =Q]Q^ Desarrollando los productos de cuaternios de la expresion [4.14] se tiene:
Ql234 ^4 1234 Ql234(^'fl4x ^4y'^4z)Ql234 =
[4.16]
S ]24
A
244
Az '^124 a4\~
j
4x'^l24 ^4z)Ql234
A
[4.17]
(0,CJ , 2 <24x S
j2244 4y 12244 4y
Q 12(^'P
+ 4
q3)
108 Fundamentos de robotica Asimismo, segun [4.9] : (0,p,) = (0,0,0,1,) con lo que finalmente resulta: [4. 18]
(0,ao) = (0,<2 C|l2244 fl4y S j,2244 + 13^1122 ^2^,, ' . . , . 4y C,,2244 ~~ 4x ^,,2244 13^ 1122 ^2^1) > 4z ^3"*" ^1 )
4x fl fl fl
[4.19]
En cuanto a la relacion entre los cuaternios que definen la orientacion de un objeto en los sistemas {S0} y {S4} se tendra:
R0 =Q,Q2Q
Q4R4
=0
,234^4
=(C124 AO,S,24)
[4.20]
Las expresiones [4.19] y [4.20] permiten conocer la posicion a0 y orientacion Ro de un objeto en el sistema {So} conocidas estas en el sistema {S4}. Si, en particular, este objeto esta posicionado y orientado en el extremo del robot, se tendra que:
lo que indica que el extremo del robot referido al sistema de su base {So}, esta posicionado en:
x = a
y = a 0y = \ 3 scn(q } + q 2 ) + \ 2 senq l z = aoz = 1 i - q 3 y esta girado respecto al sistema de la base un angulo q\ + q 2 + <?4 segun la rotation en torno al eje z:
Rot(z,<?) + 2 + <7 )
4
[4.24]
Las expresiones [4.23] y [4.24] permiten conocer la localizacion del extremo del robot referidas al sistema de la base en funcion de las coordenadas articulares (qi, q2i <73, #4), correspondiendo por lo tanto a la solution del problema cinematico directo.
f k ( *, ) U ,a ,P ,Y)
k= . . . n (GDL)
[4.25]
Este tipo de solution presenta, entre otras, las siguientes ventajas: 1. En muchas aplicaciones, el problema cinematico inverso ha de resolverse en tiempo real (por ejemplo, en el seguimiento de una determinada trayectoria). Una solution de tipo iterativo no garantiza tener la solution en el momento adecuado. 2. Al contrario de lo que ocurrfa en el problema cinematico directo, con cierta frecuencia la solution del problema cinematico inverso no es unica; existiendo diferentes n-uplas [q\, <?n]T que posicionan y orientan el extremo del robot del mismo modo. En estos casos una solution cerrada permite incluir determinadas reglas 0 restricciones que aseguren que la solution obtenida sea la mas adecuada de entre las posibles (por ejemplo, limites en los recorridos articulares). No obstante, a pesar de las dificultades comentadas, la mayor parte de los robots poseen cinematicas relativamente simples que facilitan en cierta medida la resolution de su problema cinematico inverso. Por ejemplo, si se consideran solo los tres primeros grados de libertad de muchos robots, estos tienen una
110 Fundamentos de robotica estructura planar, esto es, los tres primeros elementos quedan contenidos en un piano. Esta circunstancia facilita la resolution del problema. Asimismo, en muchos robots se da la circunstancia de que ios tres grados de libertad ultimos, dedicados fundamentalmente a orientar el extremo del robot, corresponden a giros sobre ejes que se cortan en un punto. De nuevo esta situation facilita el calculo de la n-upla [qi,..., q]T correspondiente a la posicion y orientacion deseadas. Por lo tanto, para los casos citados y otros, es posible establecer ciertas pautas generales que permitan plantear y resolver el problema cinematico inverso de una manera sistematica. Los metodos geometricos permiten obtener normalmente los valores de las primeras variables articulares, que son las que consiguen posicionar el robot (prescindiendo de la orientacion de su extremo), Para ello utilizan relaciones trigonometricas y geometricas sobre los elementos del robot. Se suele recurrir a la resolution de triangulos formados por los elementos y articulaciones del robot. Como alternativa para resolver el mismo problema se puede recurrir a manipular directamente las ecuaciones correspondientes al problema cinematico directo. Es decir, puesto que este establece la relacion: noap
0001
=M
[4.26]
donde los elementos t j son funcion de las coordenadas articulares [q\ , ... , qn] T , es posible pensar que mediante ciertas combinaciones de las 12 ecuaciones planteadas en [4.26] se puedan despejar las n variables articulares q\ en funcion de las componentes de los vectores n, o, a y p. Por ultimo, si se consideran robots con capacidad de posicionar y orientar su extremo en el espacio, esto es, robots con 6 GDL, el metodo de desacoplamiento cinematico permite, para determinados tipos de robots, resolver los primeros grados de libertad, dedicados al posicionamiento, de manera independiente a la resolution de los ultimos grados de libertad, dedicados a la orientacion. Cada uno de estos dos problemas mas simples podra ser tratado y resuelto por cualquier procedimiento.
S
q} = arctg
KP
X/
[4.27]
Considerando ahora unicamente los elementos 2 y 3 que estan situados en un piano (Figura 4.8-a), y utilizando el teorema del coseno, se tendra:
r = p; + p 2
y r2 +p 2 z = \\ +12 +21213COS#3
[4.28]
Px+Py+Pz- l 2 -l 3
2 1 *13
COS#3 =
Esta expresion permite obtener q 3 en funcion del vector de posicion del extremo p. No obstante, y por motivos de ventajas computational, es mas conveniente utilizar la expresion de la arcotangente en lugar del arcoseno. Puesto que
sen #3
se tendra que
=VTcos q
[4.29]
cos q 3 cos q 3
j
q 3 = arctg
con cos q
21
[4. 30]
P I + P 2 > + P 1 - I2-I3
23
Como se ve, existen 2 posibles soluciones para <?3 segun se tome el signo positivo o el signo negativo en la rafz. Estas corresponden a las configuraciones de codo arriba (Figura 4.8-a) y codo abajo (ver Figura 4.8-b) del robot.
a) Codo abajo
b) Codo arriba
[4.31]
Siendo:
P = arctg| | = arctg
2
v* a ' y J
TJPI
+ \ P]
1
[4.32]
a = arctg
3
sen q3
3y
12 +13 cos q3
Luego, finalmente
/ i \
q 2 = arctg
tyjpl+P
- arctg
13 sen q 3 12 + 13 cos q3
[4.33]
De nuevo los dos posibles valores segun la election del signo dan lugar a dos valores diferentes de q2 correspondientes a las configuraciones codo arriba y abajo. Las expresiones [4.27], [4.30] y [4.33] resuelven el problema cinematico inverso para el robot de 3 GDL considerado.
4.2.2. Resolution del problema cinematico inverso a partir de la matriz de transformacion homogenea
En principio es posible tratar de obtener el modelo cinematico inverso de un robot a partir del conocimiento de su modelo directo. Es decir, suponiendo conocidas las relaciones que expresan el valor de la posicion y orientacion del extremo del robot en funcion de sus coordenadas articulares, obtener por manipulation de aquellas las relaciones inversas. Sin embargo, en la practica esta tarea no es trivial siendo en muchas ocasiones tan compleja que obliga a desecharla. Ademas, puesto que el problema cinematico directo, resuelto a traves de la expresion [4.26] contiene en el caso de un robot de 6 GDL 12 ecuaciones, y se buscan s61o 6 relaciones (una por cada grado de libertad), existiran necesariamente ciertas dependencias entre las 12 expresiones de partida (resultado de la condition de ortonormalidad de los vectores n, o y a) con lo cual la election de que ecuaciones de [4.26] escoger debe hacerse con sumo cuidado. Se va a aplicar este procedimiento al robot de 3 GDL de configuracion esferica (2 giros y un desplazamiento) mostrado en la Figura 4.9. El robot queda siempre contenido en un piano determinado por el angulo q\.
El primer paso a dar para resolver el problema cinematico inverso es obtener la expresion [4.26] correspondiente a este robot. Es decir, obtener la matriz T que relaciona el sistema de referencia {So} asociado a la base con el sistema de referencia {S3} asociado a su extremo. La Figura 4.10 representa la asignacion de sistemas de referencia segun los criterios de Denavit-Hartenberg, con el robot situado en su posicion de partida (q\ = q2 = 0), y la Tabla 4.3 muestra los valores de los parametros de Denavit-Hartenberg. A partir de estos es inmediato obtener las matrices A y la matriz T. 1
H
o 0
C, 0
S{
0-C
0 0
0 0
/,
C2 *2 'A 2
0 "*2 0 -1 0
0 1 0 0
0 0
c2
0 0
0 0 "
0 1
A3 =
1 0 " 0
4
0 10 0 0 1 q3 0 0 0
0
1
C \C 2
-s x
0 0
"c,c2
A3 = T-5. C { S2 -q3QS2 -q35.52 q
3
-c,s2
s,c2 S2
0
c, -s t s 2
c2
0
s,c2 s2
0
c, -s t s 2 C2 0 0 0
C2
/,
116 Fundamentos de robotica Obtenida la expresion de T en funcion de las coordenadas articulares {q\, q 2 , qi)> y supuesta una localizacion de destino para el extremo del robot definida por los vectores n, o, a y p se podrfa intentar manipular directamente las 12 ecuaciones resultantes de T a fin de despejar qu q2, y qs en funcion de n, o, a y p. Tabla 4.3. Parametros D-H del robot de la Figura 4.9. Articulation 1 2 3 0 <7i
?2
d 1, 0
M1
^3_
a 0 0 0
a 90 -90 0
Sin embargo, este procedimiento directo es complicado, apareciendo ecuaciones trascendentes. En lugar de ello, suele ser mas adecuado aplicar el siguiente procedimiento: Puesto que T = Ai ]A2 2A 3 se tendra que:
Figura 4.10. Asignacion de sistemas de referencia de! robot polar de ta Figura 4.9.
(" A , ) 'T= , A 2 2 A 1 ( A a ) " '( A 1 )" T= A , es conocida, los miembros a la izquierda en las expresiones
noap Puesto que T =
, , l
[4.35]
0001
[4.35] son funcion de las variables articulares (q\ ,... , gk)mientras que los miembros de la derecha lo
son de las variables articulares (^k+i , <?n)De este modo, de la primera de las expresiones de [4.35] se tendra q1 aislado del resto de las variables articulares y tal vez sera posible obtener su valor sin la complejidad que se tendrfa abordando directamente la manipulation de la expresion [4.26]. A su vez, una vez obtenida q\ , la segunda expresion de [4.35] permitira tener el valor de q2 aisiado respecto de q3. Por ultimo, conocidos q\ y q2 se podra obtener q3 de la expresion [4.26] sin excesiva dificultad. Para poder aplicar este procedimiento, es necesario en primer lugar obtener las inversas de las matrices, '"'Aj. Esto es sencillo si se considera que la inversa de una matriz de transformacion homogenea viene dada por [3.44]:
"x
n
P, ~ Py
-1
"y
y
"z
-n T p -o T p
[4.36]
Pz
0 Luego
C
0 se
-a T p 1 tiene
que:
0
"
v=
, Si
0 -c,
1
0
s,
0
-C,
0 0
0 " 0
-]
1 1,
0
01_
0
0
-1
'A2-' =
c 02 0 -s s2 0 c2 0 1 0
0 0 0
C2 s2
0 0
0
0
[4.37]
0 1_
-s2 c2
1
0
1
0
0 0
-1
0
<A3-' =
0 10 0 0 0 1 q3 0 0 0 1
0 0 0 1
0
0
1 0 0 0
0 0 0 1 l 0 0
Por lo tan to, utilizando la primera de las ecuaciones de [4.35] se tiene que:
C, S, 0 -C, 0 00 00 1 qz 01 0 1 0 0 0 -1, 0 1 "C 2 x
n n
Px
Py Pz
' 0
rr
A2 A3
0 S, 0
y z
*y z a z 0 0 -S 2 C2 0 0
0 0 0 -1 0
1 -S 2 S C ^3
2
"c 2
0 0 -1 0
-S 2 C2 0 0
S3 0 0
0 " 0 " 1 0 01 0 1 00 00
s2
0 0
0 1
De las 12 relaciones establecidas en la ecuacion [4.38] interesan aquellas que expresan q\ en funcion de constantes ( y no de q2 y q$). Asi por ejemplo, tomando el elemento (3,4) se tiene:
S. P x -
C,/?y=0 =>
/\
p tanf q, ) = V^x y
q x = arctan
/
P
[4.39]
\P*J
[4.35] se
C2
0 -S 2 0
C 2 C,
S2 0
0 -1 0 0
0 0 0 1
c,
0
S,
0
0 1 0 0
"x y
n
0 -1, 0 1
Ox
"x
n
Ox
x y
Px Py Pz
1
1 0 0 0 0 0 1 0 0" 0
<?3
0 1 0 0
0 0 1 0
0 0
< ? 3
[4.40]
c2
0
S, -C,
0
~
0Z
0 1,S 2 " 0 C 2 1, 1
0
"x
0 Px
Py
z 0 1 0 0 0
-S, -S 2 C 0
c2s, C,
-S 2 Sj 0
s
0
0 1 0 0
c2
0
Pz
[4.41]
(s,
c
=sf
p ; - C ? P y 2 - 2 S , C , P xP y = 0 = >
P%Pj
=*
[4.4
se tiene finalmente:
q2 = arctan -------1 Pz
JPI + P2,
[4.43]
i(Pz
= C 2 (Pz
Las expresiones [4.39], [4.43] y [4.44] corresponden a la solution del problema cinematico inverso del robot considerado. A continuation se reproducen estas expresiones.
' P ^
VFx
y
[4.45]
qx
arctan
q2
= arctan
!. ~Pz
1,=C2(P
)-
^Pl+P2,
e,
02 03 04 05
d ll 0 0 13 0
e6
a 0 12 0 0 0 0
a -90 0 90 -90 90 0
En la Figura 4.11 se representa un robot que reune las citadas caracterfsticas, con indication de los sistemas de coordenadas asociados segun el procedimiento de Denavit-Hartemberg, cuyos parametros se pueden observar en la Tabla 4.4. El punto central de la muneca del robot corresponde al origen del sistema {S 5}: 05. Por su parte, el punto final del robot sera el origen del sistema {Se}: 06. En lo que sigue se utilizaran los vectores:
Pm P, = O o 6
=0O5
[4. 46]
que van desde el origen del sistema asociado a la base del robot {S 0} hasta los puntos centra de la muneca y fin del robot, respectivamente. Puesto que la direction del eje Zf, debe coincidir con la de Z5 y la distancia entre O 5 y medida a lo largo de Z5 es precisamente d4 = I4 , se tendra que:
P = P r -l4^6 [4-47]
estando todos los vectores referidos a las coordenadas del sistema {S 0}. En la expresion [4.46] pr son las coordenadas del punto donde se pretende que se posicione el robot expresadas en {So}. Por lo tanto
Pr = [ p , ' P y ' P z ] [4.48]
El vector director z6 es el vector a correspondiente a la orientacion deseada z6 = (ax, ay, az]T y U es un parametro asociado con el robot. Por lo tanto, las coordenadas del punto central de la muneca (p, Pmy, Pmz) son facilmente obtenibles. Tal y como se mostro en el epigrafe 4.2 es posible, mediante un metodo geometrico, por ejemplo, calcular los valores de (q},q2,43) que consiguen posicionar el robot en el pm deseado. Queda ahora obtener los valores de q4, 45, y qe que consiguen la orientacion deseada. Para ello, denominando 0 a la submatriz de rotation de 0 se tendra:
R6
=
[ n O a ] = R , 'R 6
[4.49]
donde 0 R6 es conocida por ser la orientacion desead a del extremo del robot, y 0 R3 definida por:
0
R -j=0 AA 2 2 A 3
[4.50]
tambien lo sera a partir de los valores ya obtenidos de q\, q2, y 43. Por lo tanto:
3
R6=[r,J] = (0R3
r , R = ( R )
6
[ n o a]
[4.51]
tendra sus componentes numericas conocidas. Por otra parte, 3Re corresponde con la submatriz (3x3) de rotation de la matriz de transformacion homogenea 3T6 que relaciona el sistema {S3} con el {Se}. Por lo tanto:
3
R6=3R44R55R6 [4.52
] donde '"'R; es la submatriz de rotation de la matriz de Denavit-Hartemberg '"'Aj, cuyos valores son:
X=
c4 0 -s4 s4 0 c4
0 - 1 0
4 R
5 =
c5 0 s 5 S5 0 - c5
010
c6 ~S6 0
S6 C6 0 001
[4. 53]
-s4c5
C5
[4. 54]
-S,c6
donde ry seran por [4.51] valores numericos conocidos :
s5s6
wr
s5c6
S5s6
c5
De las nueve relaciones expresadas en [4.55] se pueden tomar las correspondientes a r^, r 23, r33, r31 y r32: r
i3
C4S5
r23
r
-S4C5
33
^5
3I = ~S5C6
32
S5S6
[4. 56]
Del conjunto de ecuaciones [4.56] es inmediato obtener los valores de los parametros articulares (se recomienda convertir todas las funciones trigonometricas inversas en su arcotangente, por ser esta computacionalmente mas robusta):
V
/ \
33 .
[4. 57]
r
32
3i y
Esta expresion, junto con las [4.27], [4.30] y [4.33], y teniendo en cuenta que las posiciones de cero son distintas, constituyen la solution completa del problema cinematico inverso del robot articular de la Figura 4.11.
* = f , (9 . . . . . ? )
a=f
[4.58]
Si se derivan con respecto al tiempo ambos miembros del conjunto de ecuaciones anteriores, se tendra:
n n
.v
Vy
a
af
.V
n
^z.
Y df .
a = 2.y~^i . T a^
O expresado en forma matricial:
X
^Y
p = 2,T"?i
af
XT.
[4.59]
y
i
y z
<
~ 4\'
\
dqt
con
a
P
J=
a^
dq,
[4.60]
II
af^
j.
La matriz J se denomina matriz Jacobiana. Puesto que el valor numerico de cada uno de los elementos [jpq] de la Jacobiana dependera de los valores instantaneos de las coordenadas articulares 0;, el valor de la Jacobiana sera diferente en cada uno de los puntos del espacio articular. Ejemplo 4.3. Se va a obtener la matriz Jacobiana del robot SCARA de la Figura 4.6. El problema cinematico directo viene determinado por las ecuaciones: x = l,Cn+\2C,
y = l,Sl2 +12S,
"-(l3S12 + l2S,)
X
-
13S12
I3C12 ^2^1 '3^12
0 0
-1
<?.
y _z _
<?2
A i
Si el robot se encuentra en un momento determinado en la posicion dada por q{ - rad. q2 = rad. q, = 0,75m. 6 4 moviendose a una velocidad articular de valor instantaneo:
<7, = rad / s. q 2 = rad / s. = lm / s
TZ K
'
71
71
1,465
=
-0,965 0.258 0
0 " ~Kf 0 -1
2 K/ 2
=
3.8 f 2,17 -1
y z
1,124 0
<?2=tc
Si, manteniendose la velocidad articular, el robot se encontrase en la posicion 4 I=TT/3 rad., /2 rad., la velocidad del extremo serfa:
X
-1,36
=
-0,5 -0,866 0
0 " ~K/2
~
"-2,92"
=
y z _
-0,366 0
0 -1
71
/2 1
-1,935 -1
En primer lugar, supuesta conocida la relacion directa, dada por la matriz Jacobiana [4.60], se puede obtener la relacion inversa invirtiendo simbolicamente la matriz
V
=J'
y z a
$
An.
y.
Esta alternativa, de planteamiento sencillo, es en la practica de dificil realization. Suponiendo que la matriz J sea cuadrada, la inversion simbolica de una matriz 6x6, cuyos elementos son funciones trigonometricas, es de gran complejidad, siendo este procedimiento inviable. Como segunda alternativa puede plantearse la evaluation numerica de la matriz J para una configuracion (qO concreta del robot, e invirtiendo numericamente esta matriz encontrar la relacion inversa valida para esa configuracion. En este caso hay que considerar, en primer lugar, que el valor numerico de la Jacobiana va cambiando a medida que el robot se mueve y, por lo tanto, la Jacobiana inversa ha de ser recalculada constantemente. Ademas, pueden existir n-uplas (<?i,...,<?) para las cuales la matriz Jacobiana J no sea invertible por ser su determinante, denominado Jacobiano, nulo. Estas configuraciones del robot en las que el Jacobiano se anula se denominan configuraciones singulares y seran tratadas mas adelante. Una tercera dificultad que puede surgir con este y otros procedimientos de computo de la matriz Jacobiana inversa, se deriva de la circunstancia de que la matriz J no sea cuadrada. Esto ocurre cuando el numero de grados de libertad del robot no coincide con la dimension del espacio de la tarea (normalmente seis). En el caso de que el numero de grados de libertad sea inferior, la matriz Jacobiana tendra mas filas que columnas. Esto quiere decir que el movimiento del robot esta sometido a ciertas restricciones (por ejemplo, no se puede alcanzar cualquier orientacion). Tipicamente esto ocurre en los casos en los que esta restriction no tiene importancia, como en robots dedicados a tareas como soldadura por arco o desbarbado, en las que la orientacion de la herramienta en cuanto a su giro en torno al vector a es indiferente, por lo que puede ser eliminado este grado de libertad del espacio de la tarea, quedando una nueva matriz Jacobiana cuadrada. En los casos en que el robot sea redundante (mas de 6 GDL o mas columnas que filas en la matriz Jacobiana) existiran grados de libertad articulares innecesarios, es decir, que no sera preciso mover para alcanzar las nuevas posiciones y velocidades del extremo requeridas. Por ello, la correspondiente velocidad articular podra ser tomada como cero, o si fuera util, como un valor constante. En general, en el caso de que la Jacobiana no sea cuadrada podra ser usado algun tipo de matriz pseudoinversa, como por ejemplo (J JT)"' . La tercera alternativa para obtener la matriz Jacobiana inversa es repetir el procedimiento seguido para la obtencion de la Jacobiana directa, pero ahora partiendo del modelo cinematico inverso. Esto es, conocida la relacion:
q x = f,
(*,;y,z,a ,P ,Y)
=fn(x,y,z,
[4.62]
a,p,y)
La matriz jacobiana inversa se obtendra por diferenciacion con respecto del tiempo de ambos miembros de la igualdad:
V
=J
1
[4.63]
An.
con: 3f,
dx
_ y _
3f ,
dy [4.64]
3Y
Como en el caso de la primera complicado. robot tiene la Jacobiana, se han desarrode la Jacobiana. alternativa, este metodo puede ser algebraicamente Dada la importancia que para el control del movimiento del llado otros procedimientos numericos para el calculo rapido
dx
Por ello, en las inmediaciones de las configuraciones singulares se pierde alguno de los grados de bertad del robot, siendo imposible que su extremo se mueva en una determinada direction cartesiaa. Las diferentes configuraciones singulares del robot pueden ser clasificadas como:
Singularidades en los limites del espacio de trabajo del robot. Se presentan cuando el extremo del robot esta en algun punto del limite de trabajo interior o exterior. En esta situation resuita obvio que el robot no podra desplazarse en las direcciones que lo alejan de este espacio de trabajo. Singularidades en el interior del espacio de trabajo del robot. Ocurren dentro de la zona de trabajo y se producen generalmente por el alineamiento de dos o mas ejes de las articulaciones del robot.
jemplo 4.4. Para el robot SCAR A del que se obtuvo la matriz Jacobiana en el Ejemplo 4.3, se tiene que:
0 .3^12 +I2S1) ^12 0
c +1 c 1 r
3 12
2 1 13v"l
0 -1
^3^12O3C12 +^2^-1)
TC,
TT
Se debe prestar especial atencion a la localizacion de las configuraciones singulares del robot para que sean tenidas en cuenta en su control, evitandose solicitar a los actuadores movimientos a velocidades inabordables o cambios bruscos de las mismas. La Figura 4.13 muestra el resultado de intentar realizar con un robot tipo SCARA, una trayectoria en llnea recta a velocidad constante que pasa por una configuracion singular. Observese la brusca variation de la velocidad articular qi que crece hasta valores inalcanzables en la practica. Para evitar la aparicion de configuraciones singulares debe considerarse su existencia desde la propia fase de diseno mecanico, imponiendo restricciones al movimiento del robot o utilizando robots redundantes (lo que conlleva otro tipo de problemas). Finalmente, el sistema de control debe detectar y tratar estas configuraciones evitando pasar precisamente por ellas.
Un posible procedimiento para resolver la presencia de una singularidad interior al espacio de trabajo, en la que se pierde la utilidad de alguna articulation (perdida de algun grado de libertad) seria el siguiente: 1. Identificar la articulaci6n correspondiente al grado de libertad perdido (causante de que el determinante se anule). 2. Eliminar !a fila de la Jacobiana correspondiente al grado de libertad perdido y la columna correspondiente a la articulacion causante. 3. Con la nueva Jacobiana reducida (rango n-1) obtener las velocidades de todas las articulaciones, a exception de la eliminada, necesarias para conseguir las velocidades cartesianas deseadas. La velocidad de la articulacion eliminada se mantendra a cero.
4.4. BIBLIOGRAFIA
[DENAVIT-55] J.Denavit y R.S Hartenberg, "A Kinematic Notation for Lower-Pair Mechanisms Based on Matrices", Journal of Applied Mechanics, junio 1995.
[FU-88] K.S. Fu et. al, "Cinematica del brazo del robot", en: Robotica. Control, deteccion, vision e inteligencia, McGraw-Hill, Madrid, 1988. [GOLDENBERG-85] A.A. Goldenberg, b. Benhabib y R.G. Fenton, "A complete generalized solution to the inverse kinematics of robots", IEEE Journal of Robotics and Automation, RA-1,1, 1985. [PAUL-81] R.P Paul, Robot Manipulators : Mathematics, Programming and Control, The MIT Press, Massachusetts, 1981.