Tema 3
Tema 3
TEMA 3
1. Introduccción.
3. Algoritmo de Denavit-Hartenberg.
3-1
Cinemática del robot.
1. Introducción.
3-2
Cinemática del robot.
Por otra parte, la Cinemática del robot trata también de encontrar las relaciones
entre las velocidades del movimiento de las articulaciones y las del extremo. Esta
relación viene dada por el modelo diferencial expresado mediante la matriz Jacobiana.
Dado que un robot se puede considerar como una cadena Cinemática formada
por objetos rígidos o eslabones unidos entre sí 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 con respecto a dicho sistema de referencia. De
esta forma, el problema cinemático directo se reduce a encontrar una matriz homogénea
de transformación T que relacione la posición y orientación del extremo del robot
respecto del sistema de referencia fijo situado en la base del mismo. Esta matriz T será
función de las coordenadas articulares.
3-3
Cinemática del robot.
x l1 cos q1 l2 cosq1 q2
y l1senq1 l2sen q1 q2
z0
n o a R z, q1 q2
Del mismo modo, denominando 0Ak a las matrices resultantes del producto de
i-1
las matrices Ai con i desde 1 hasta k, se puede representar de forma total o parcial la
cadena cinemática que forma el robot. Así, por ejemplo, la posición y orientación del
sistema solidario con el segundo eslabón del robot con respecto al sistema de
coordenadas de la base se puede expresar mediante la matriz 0A2:
3-4
Cinemática del robot.
0
A2= 0A11A2
T= 0A6 = 0A11A22A33A44A55A6
i-1
Cada matriz Ai depende, además de los parámetros geométricos de cada
eslabón, del grado de libertad qi, de modo que, en realidad, se tiene que:
En el ejemplo anterior:
0
A1 Y1
S1 X 1
Y0
S0 X
0
3-5
Cinemática del robot.
C1 S1 0 0 1 0 0 l1 C1 S1 0 l1C1
S C1 0 0 0 1 0 0 S1 C1 0 l1 S1
0
A1 R z , q1 Tl1 ,0,0 1
0 0 1 0 0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1
C2 S2 0 0 1 0 0 l2 C2 S2 0 l2C2
S C2 0 0 0 1 0 0 S2 C2 0 l2 S 2
1
A 2 R z , q 2 Tl 2 ,0,0 2
0 0 1 0 0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1
Por tanto:
x l1 cos q1 l2 cosq1 q2
y l1senq1 l2sen q1 q2
z0
n o a R z, q1 q2
3-6
Cinemática del robot.
3. Algoritmo de Denavit-Hartenberg.
INTRODUCCIÓN
Aunque para describir la relación 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 robótica es la representación de Denavit-Hartenberg (D-
H). Denavit y Hartenberg propusieron en 1955 un método matricial que permite
establecer de manera sistemática un sistema de coordenadas {Si} ligado a cada eslabón i
de una cadena articulada, pudiéndose determinar a continuación las ecuaciones
cinemáticas de la cadena completa. Según la representación de D-H, escogiendo
adecuadamente los sistemas de coordenadas asociados a cada eslabón, será posible
pasar de uno al siguiente mediante 4 transformaciones básicas que dependen
exclusivamente de las características geométricas del eslabón.
i-1
Ai = T (z,i) T(0,0,di) T(ai,0,0) T(x,i)
3-7
Cinemática del robot.
C i S i 0 0 1 0 0 0 1 0 0 ai 1 0 0 0
i 1 S C i 0 0 0 1 0 0 0 1 0 0 0 C i S i 0
Ai i
0 0 1 0 0 0 1 d i 0 0 1 0 0 S i C i 0
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
C i C i S i S i S i ai C i
S C i C i S i C i a i S i
i
0 S i C i di
0 0 0 1
De este modo, basta con identificar los parámetros i , ai , di , i para obtener las
matrices A y relacionar así todos y cada uno los eslabones del robot. Como se ha
i-1
indicado, para que la matriz Ai, relacione los sistemas {Si}y {Si-1}, es necesario que
los sistemas se hayan escogido de acuerdo a unas determinadas normas. Éstas, junto con
la definición de los 4 parámetros D-H, conforman el siguiente algoritmo para la
resolución del problema cinemático directo.
D-H 1. Numerar los eslabones comenzando con 1 (primer eslabón móvil) y acabando
con n (último eslabón móvil). Se numerará como eslabón 0 a la base fija del robot.
D-H 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.
D-H 5. Situar el origen del sistema de la base {S0} en cualquier punto del eje z0. Los
ejes x0 e y0 se situarán de modo que formen un sistema dextrógiro con z0.
3-8
Cinemática del robot.
D-H 9. Situar el sistema {Sn} en el extremo del robot de modo que zn coincida con la
dirección de zn-1 y xn sea normal a zn-1 y zn.
D-H 10. Obtener i como el ángulo que hay que girar en torno a zi-1 para que xi-1 y xi
queden paralelos.
D-H 11. Obtener di como la distancia, medida a lo largo de zi-1 que habría que desplazar
{Si-1} para que xi y xi-1 quedasen alineados.
DH 12. Obtener ai como la distancia medida a lo largo de xi (que ahora coincidiría con
el eje xi-1) que habría que desplazar el nuevo {Si-1} para que su origen coincidiese con
{Si}.
DH 13. Obtener i como el ángulo que habría que girar entorno a xi (que ahora
coincidiría con xi-1), para que el nuevo {Si-1} coincidiese totalmente con {Si}.
3-9
Cinemática del robot.
Los cuatro parámetros de D-H (i, di, ai, i) dependen únicamente de las
características geométricas de cada eslabón y de las articulaciones que le unen con el
anterior y siguiente. En concreto estos representan:
i Es el ángulo que forman los ejes xi-1 y xi medido en un plano perpendicular al eje zi-1,
utilizando la regla de la mano derecha. Se trata de un parámetro variable en
articulaciones giratorias.
di Es la distancia a lo largo del eje zi-1 desde el origen del sistema de coordenadas (i-1)-
ésimo hasta la intersección del eje zi-1 con el eje xi. Se trata de un parámetro variable en
articulaciones prismáticas.
ai Es la distancia a lo largo del eje xi que va desde la intersección del eje zi-1 con el eje xi
hasta el origen del sistema i-ésimo, en articulaciones giratorias. En el caso de
articulaciones prismáticas, se calcula como la distancia más corta entre los ejes zi-1 y zi.
i Es el ángulo de separación del eje zi-1 y el eje zi, medido en un plano perpendicular al
eje xi, utilizando la regla de la mano derecha.
Una vez obtenidos los parámetros D-H, el cálculo de las relaciones entre los
eslabones consecutivos del robot es inmediato, ya que vienen dadas por las matrices A,
que se calculan según la expresión general. Las relaciones entre eslabones no
consecutivos vienen dadas por las matrices T que, como ya se comentó anteriormente,
se obtienen como producto de un conjunto de matrices A.
3-10
Cinemática del robot.
Ejemplo:
Este robot posee 1 eslabón fijo, 4 eslabones móviles y 4 GDL asociados a sus
articulaciones: 2 giratorias y 2 prismáticas. Se numeran los eslabones de 0 a 4 y las
articulaciones de 1 a 4. A continuación, se determinan las bases asociadas a cada
eslabón y se determinan los parámetros de D-H:
ARTICULACIÓN d a
1 q1 l1 0 0
2 90º d2 0 90º
3 0 d3 0 0
4 q4 l4 0 0
3-11
Cinemática del robot.
C1 S1 0 0 0 0 1 0
S C1 0 0 1 0 0 0
0
A1 1 ,
1
A2
0 0 1 l1 0 1 0 d2
0 0 0 1 0 0 0 1
1 0 0 0 C4 S4 0 0
0 1 0 0 S C4 0 0
2
A3 ,
3
A4 4
0 0 1 d3 0 0 1 l4
0 0 0 1 0 0 0 1
S1C 4 S1 S 4 C1 C1 d 3 l 4
CC C1 S 4 S1 S1 d 3 l 4 n o a p
T A1 A 2 A 3 A 4 1 4
0 1 2 3
S4 C4 0 d 2 l1 0 0 0 1
0 0 0 1
3-12
Cinemática del robot.
qk = fk(x,y,z,,,)
k = 1... n (GDL)
3-13
Cinemática del robot.
n o a p
t ij
0 0 0 1
donde los elementos tij son función de las coordenadas articulares [ql , ... , qn]T, es
posible pensar que mediante ciertas combinaciones de las 12 ecuaciones planteadas se
puedan despejar las n variables articulares qi en función de las componentes de los
vectores n, o, a y p. Sin embargo, en la práctica esta tarea no es trivial siendo en
muchas ocasiones tan compleja que obliga a desecharla.
3-14
Cinemática del robot.
El dato de partida son la coordenadas (px, py, pz) referidas a {S0} en las que se
quiere posicionar su extremo.
Robot articular
Como se puede apreciar, este robot posee una estructura planar, es decir, fijada
una variable articular, los movimientos del robot siempre están contenidos en un plano,
quedando este plano definido por el ángulo de la primera variable articular q1. El valor
de q1 se obtiene inmediatamente como:
py
q1 arctg
px
r 2 p x2 p y2 p x2 p y2 p z2 l22 l32
cos q3
r 2 p z2 l22 l32 2l2l3 cos q3 2l2l3
Esta expresión permite obtener q3 en función del vector de posición del extremo
p. No obstante, y por las ventajas computacionales que supone, es más conveniente
utilizar la expresión de la arcotangente en lugar del arcoseno. Puesto que:
3-15
Cinemática del robot.
1 cos 2 q
sen q3 1 cos 2 q3 , se tendrá que q3 arctg 3 .
cos q3
l sen q3
arctg 3
l2 l3 cos q3
De nuevo los dos posibles valores según la elección del signo dan lugar a dos
valores diferentes de q2 correspondientes a las configuraciones codo arriba y abajo.
3-16
Cinemática del robot.
Se trata de obtener los valores que deben tener las coordenadas articulares del
robot para que su extremo alcance una determinada posición y orientación manipulando
las relaciones obtenidas en el problema directo, obteniendo las relaciones inversas. Se
va a aplicar este método al robot polar de la siguiente figura. Es un robot de 3 GDL, 2
giros y un desplazamiento.
ARTICULACIÓN d a
1 q1 l1 0 90º
2 q2 0 0 -90º
3 0 q3 0 0
3-17
Cinemática del robot.
C1 0 S1 0 C2 0 S2 0 1 0 0 0
S 0 C1 0 1 S2 0 C2 0 2 0 1 0 0
0
A1 1 , A2 , A3
0 1 0 l1 0 1 0 0 0 0 1 q3
0 0 0 1 0 0 0 1
0 1 0 0
Supuesta conocida una localización de destino para el extremo del robot definida
por los vectores n, o, a y p, se trata de manejar directamente las 12 ecuaciones
resultantes de T para despejar q1, q2 y q3. Sin embargo, este proceso es complejo y
conduce a ecuaciones trascendentes sin solución analítica. En lugar de esto, puede ser
más sencillo aplicar el siguiente procedimiento:
n o a p
T 0 A 1 1 A 2 2 A 3
0 0 0 1
0 A 1
-1
T1 A 2 2 A 3 y también 1 A 2
1 0
A1
-1
T 2 A 3
Sustituyendo en 0
A1
-1
T 1 A 2 2 A 3 :
C1 S1 0 0 n x ox ax p x C2 0 S2 0 1 0 0 0
0 0 1 l1 n y oy ay py S2 0 C2 0 0 1 0 0
S
C1 0 0 n z oz az pz 0 1 0 0 0 0 1 q3
1
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
C1 S1 0 0 n x ox ax p x C2 0 S2 S 2 q3
0 0 1 l1 n y oy ay py S2 0 C2 C 2 q3
S
C1 0 0 n z oz az pz 0 1 0 0
1
0 0 0 1 0 0 0 1 0 0 0 1
3-18
Cinemática del robot.
py py
S1 p x C1 p y 0 tan q1 q1 arctan
px px
Sustituyendo en A
1
2
1 0
A1
-1
T 2 A 3 :
C2 S2 0 0 C1 S1 0 0 n x ox ax px 1 0 0 0
0 0 1 0 0 0 1 l1 n y oy ay py 0 1 0 0
S
C2 0 0 S1 C1 0 0 n z oz az pz 0 0 1 q3
2
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
C 2 C1 C 2 S1 S2 l1 S 2 n x ox ax px 1 0 0 0
S1 C1 0 0 n y oy ay py 0 1 0 0
S C
S 2 S1 C2 C 2 l1 n z oz az pz 0 0 1 q3
2 1
0 0 0 1 0 0 0 1 0 0 0 1
C 2 C1 p x C 2 S1 p y S 2 p z l1 S 2 0 C 2 C1 p x S1 p y S 2 p z l1 0
C1 p x S1 p y
tan q 2 . Teniendo en cuenta que: S1 p x C1 p y 0
p z l1
px2 p y2
C1 p x S1 p y p p q2 arctan
2 2
l1 pz
x y
S 2 C1 p x S 2 S1 p y C 2 p z C 2 l1 q3 q3 C2 pz l1 S2 px2 p y2
3-19
Cinemática del robot.
En ambos casos, la matriz Jacobiana directa permite obtener una relación entre
las velocidades del extremo del robot a partir de los valores de las velocidades de cada
articulación.
Por otra parte, la matriz Jacobiana inversa permite conocer las velocidades
articulares necesarias para obtener un vector concreto de velocidades del extremo.
JACOBIANA ANALÍTICA
vector de velocidades de la localización del extremo del robot x , y , z,,, .
3-20
Cinemática del robot.
n
f x n f y n
f z
x q i y q i z q i
i 1 qi i 1 qi i 1 qi
n f n
f n f
i 1 qi
qi
i 1 qi
qi
i 1 qi
q i
x q1
y f x f x
z q1 qn
J a con J a
f f
q1 qn
q
n
3-21
Cinemática del robot.
Ejemplo:
Robot SCARA
0 0 1 l1 q3
0 0 0 1
De donde:
x l3C12 l2C1 , y l3 S12 l2 S1 , z l1 q3
0 , 0 , q1 q 2 q 4
Por tanto:
l3 S12 l2 S1 l3 S12 0 0
l3C12 l2C1 l3C12 0 0
0 0 1 0
Ja
0 0 0 0
0 0 0 0
1 1 0 1
3-22
Cinemática del robot.
JACOBIANA GEOMÉTRICA
x q1
y
z
J
x
x
q
x n
3-23
Cinemática del robot.
n o a p
T
0 0 0 1
La velocidad lineal del extremo respecto del sistema vendrá dada por las
derivadas respecto del tiempo de las coordenadas (x,y,z) del extremo del robot:
dx dy dz
vx x p x , v y y p y , v z z p z
dt dt dt
Por tanto, la relación de la velocidad lineal del extremo del robot v x , v y , v z con
las velocidades articulares q1 , q 2 ,..., q n será la misma que la de x , y , z definida en la
Jacobiana analítica pudiendo ser obtenida a partir del vector p p x , p y , p z de la matriz
T que expresa la posición del extremo del robot en función de las coordenadas
articulares.
0 z y
Ω z 0 x
x 0
y
3-24
Cinemática del robot.
Ejemplo:
x
y q1 q1
z J
q 2 q 2
v
J
x q q
3 J 3
q q
x 4 4
x
3-25
Cinemática del robot.
dp y
vy l3C12 l2C1 q1 l3 S12 q 2
dt
dp z
vz q 3
dt
Y la matriz Jv será:
0 z y
Comparando con Ω z 0 x x , y , z 0,0,1 q1 q 2 q 4
x 0
y
Y la submatriz Jω es:
3-26
Cinemática del robot.
i-1 n i i 1
oi i-1
ai pi
i-1
i 1
A i
0 0 0 1
Sea 0zi el vector unitario orientado según el eje de la articulación i+1 definido en
i 1
el sistema de coordenadas de la base del robot {S0}. Se tiene que: z i i 1 a i .
Sea ipn el vector que va desde el origen del sistema{Si} hasta el extremo del
robot (origen del sistema{Sn}) expresado en la base del robot{S0}. Se tiene que:
i
p n 0 p n 0 pi .
Conocidos los vectores 0zi y ipn, la matriz Jacobiana se puede obtener como una
matriz 6×n (n=GDL) expresada por columnas como:
J J 1 J2 Jn
0 z i 1i 1 p n
0 si la articulación i es de rotación
z i 1
donde J i 0
z i 1 si la articulación i es de translación
0
Ejemplo:
3-27
Cinemática del robot.
C1 S1 0 l2C1 C2 S2 0 l3 C 2
S C1 0 l2 S1 1 S C2 0 l3 S 2
0
A1 1 A2 2
0 0 1 l1 0 0 1 0
0 0 0 1 0 1
0 0
1 0 0 0 C4 S4 0 0
0 1 0 03 S C4 0 0
2
A3 A4 4
0 0 1 q3 0 0 1 0
0 0 0 1 0 0 0 1
0
z 0 0,0,1 , 0 z1 0,0,1 , 0 z 2 0,0,1 , 0 z 3 0,0,1 , 0 z 4 0,0,1
T T T T T
0
p 4 l3C12 l2C1 , l3 S12 l2 S1 , l1 q3
T
1
p 4 l3C12 , l3 S12 , q3
T
2
p 4 0,0, q3
T
3
p 4 0,0,0
T
0 z 0 0 p 4 0 z 1 1 p 4 0 z2 0 z 3 3 p 4
J1 0
z , J2 0 z , J3 0 , J4 0 z
0 1 3
3-28
Cinemática del robot.
i j k l3 S12 l2 S1
0
z 0 0 p 4 0 0 1 l3C12 l2C1
l3C12 l2C1 l3 S12 l2 S1 l1 q3 0
i j k l3 S12
0
z1 p 4
1
0 0 1 l3C12
l3C12 l3 S12 q3 0
i 0
j k
0
z 3 p 4 0 0 1 0
3
0 0 q3 0
Por tanto:
l3 S12 l2 S1 l3 S12 0 0
l3C12 l2C1 l3C12 0 0
0 0 1 0
J1 , J2 , J3 , J4
0 0 0 0
0 0
0 0
1 1 0 1
JACOBIANA INVERSA
Del mismo modo que se ha obtenido la relación directa entre las velocidades del
extremo del robot y las velocidades articulares, puede obtenerse la relación inversa que
permite calcular las velocidades articulares partiendo de las del extremo. Esta relación
puede obtenerse mediante diferentes procedimientos.
3-29
Cinemática del robot.
q1 x q1 x
y y
z z
J -a1 o bien J -1
x
y
q q
n n z
Además, puede ocurrir que existan valores para los cuales la matriz Jacobiana no
sea invertible por ser su determinante (Jacobiano) nulo. Las configuraciones del robot
para las que esto ocurre se denominan configuraciones singulares. Esto significa que
un incremento infinitesimal de las coordenadas cartesianas supondría un incremento
infinito en las coordenadas articulares (velocidad inalcanzable). Por ello, en las
inmediaciones de estas configuraciones se pierde alguno de los grados de libertad del
robot. Las singularidades pueden ser de dos tipos:
- En los límites del espacio de trabajo del robot: se presentan cuando el extremo
del robot se encuentra en algún punto del límite del espacio de trabajo (interior o
exterior).
- En el interior del espacio de trabajo del robot: tienen lugar en la zona de trabajo
y se producen por el alineamiento de dos o más eslabones o ejes del robot.
3-30