[go: up one dir, main page]

0% encontró este documento útil (0 votos)
223 vistas74 páginas

Cinemática Directa en Robots Manipuladores

Este documento describe la convención de Denavit-Hartenberg para modelar la cinemática directa de robots manipuladores. La convención asigna sistemas de coordenadas a cada articulación y cuatro parámetros (θi, di, ai, αi) que definen la posición y orientación entre sistemas. Esto permite calcular las transformaciones homogéneas y determinar la posición del efector final. El documento también explica cómo asignar los sistemas de coordenadas y parámetros siguiendo las reglas de la convención.

Cargado por

Joel Juca
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
223 vistas74 páginas

Cinemática Directa en Robots Manipuladores

Este documento describe la convención de Denavit-Hartenberg para modelar la cinemática directa de robots manipuladores. La convención asigna sistemas de coordenadas a cada articulación y cuatro parámetros (θi, di, ai, αi) que definen la posición y orientación entre sistemas. Esto permite calcular las transformaciones homogéneas y determinar la posición del efector final. El documento también explica cómo asignar los sistemas de coordenadas y parámetros siguiendo las reglas de la convención.

Cargado por

Joel Juca
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 74

Fundamentos de Robótica

- Tema 4 -
Cinemática Directa de Robots
Manipuladores (II)
Ing. Junior Figueroa Olmedo Mg.
Temas

1. Convención de Denavit-Hartenberg

1.1. Asignación de sistemas de referencia

1.2. Asignación de parámetros DH

1.3. Transformación homogénea

2. Ejemplo 1 (DH): Robot SCARA

3. Ejemplo 2 (DH): Robot Fanuc

4. Ejemplo 3 (DH): Robot Stanford

2
Convención de Denavit-Hartenberg
Generalidades

• Abreviación: Denavit-Hartenberg = DH
• Describe la cinemática directa usando de 4 parámetros por cada
articulación: θi, di, ai, αi
• Ejemplo:
y3 x3
z3 Parámetros DH
x2 Artic. i di θi ai αi
y5 x4
z5 1 450 180°+q1 -150 90°
y4 y2 z2
x5 z4 2 0 90°+q2 600 0
3 0 180°+q3 -200 90°
z6 y6 4 640 180°+q4 0 90°
x6 5 0 180°+q5 0 90°
x1 z1 6 0 q6 0 0
y1 z0 [distancias en mm]
Robot Fanuc M-10iA

x0 y0

3
Convención de Denavit-Hartenberg
Generalidades

• Es un método sistemático (y clásico) para describir la cinemática directa


(modelo cinemático) de robots manipuladores (industriales)
- Es casi el “estándar” para modelar cinemáticamente robots manipuladores
- Se puede extender a robots con varias cadenas cinemáticas (varias patas o
varios dedos)

• Procedimiento:
1. Determinar 1 sistema de referencia por cada articulación (basado en unas reglas)

2. Determinar 4 parámetros (θi, di, ai, αi) que describen la posición y orientación
entre cada dos sistemas de referencia (basado en unas reglas)

3. Usando los 4 parámetros (por cada articulación) calcular las matrices de


transformación homogénea
→ Determinar la posición/orientación del efector final con respecto a la base (producto de
matrices de transformación homogénea)
4
Convención de Denavit-Hartenberg
Generalidades
• Existen 2 convenciones:
- DH estándar
• Es la convención más utilizada (se utilizará aquí)
• Asigna sistemas de referencia al final de cada eslabón

- DH modificado
• Fue introducida por J.J. Craig (Introduction to Robotics, Mechanics and Control, 1986)
• Asigna sistemas de referencia al inicio de cada eslabón

• Puede generar confusiones (si no se menciona qué convención se está usando)


5
Temas

1. Convención de Denavit-Hartenberg

1.1. Asignación de sistemas de referencia

1.2. Asignación de parámetros DH

1.3. Transformación homogénea

2. Ejemplo 1 (DH): Robot SCARA

3. Ejemplo 2 (DH): Robot Fanuc

4. Ejemplo 3 (DH): Robot Stanford

6
Convención de Denavit-Hartenberg
(1) Asignación de Sistemas de Referencia

• Enumeración y ejes de articulaciones: de 1 a n (desde la base hacia el efector


final) señalando los ejes de movimiento de cada articulación

• Sistema de coordenadas de la base: asignar el sistema {0} a la base, con


eje z0 a lo largo del eje de movimiento de la articulación 1 (origen arbitrario)

• Eje zi: alinear zi con el eje de movimiento de la articulación i+1

• Origen del sistema {i}: localizar el origen del sistema {i} en la intersección de
zi & zi-1, o en la intersección de zi con la normal común entre zi & zi-1

• Eje xi: asignar xi en dirección de zi-1 x zi. Si son paralelos, asignar xi a lo largo de
la normal común entre zi-1 & zi con dirección positiva desde i hasta i+1

• Eje yi: asignar yi para completar el sistema coordenado (según la regla de la


mano derecha)

• Sistema del efector final {n}: xn debe ser ortogonal a zn-1 e intersectarlo
7
Convención de Denavit-Hartenberg
(1) Asignación de Sistemas de Referencia

• Enumeración y ejes de articulaciones: de 1 a n (desde la base hacia el efector final)


señalando los ejes de movimiento de cada articulación. Si la articulación 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.

articulación articulación
articulación
2 (q2) i+1 (qi+1)
n (qn)

articulación
1 (q1)

articulación
eslabón 0 i (qi) efector
(base) final

Notar que la articulación i está al inicio del eslabón i


8
Convención de Denavit-Hartenberg
(1) Asignación de Sistemas de Referencia

• Enumeración y ejes de articulaciones: de 1 a n (desde la base hacia el efector final)


señalando los ejes de movimiento de cada articulación

• Sistema de coordenadas de la base: asignar el sistema {0} a la base, con


eje z0 a lo largo del eje de movimiento de la articulación 1 (origen arbitrario)
→ El eje x0 es arbitrario, y el eje y0 completa el sistema (según la regla de la mano derecha)

q3
z0 q2
q1 y0

origen
arbitrario
x0
arbitrario

Notar que el sistema {0} está fijo en la base


(no se mueve con ninguna articulación)

9
Convención de Denavit-Hartenberg
(1) Asignación de Sistemas de Referencia

• Eje zi: (de 1 a n-1) alinear zi con el eje de movimiento de la articulación i+1

• Origen del sistema {i}: (de 1 a n-1)


a) En la intersección de zi & zi-1, o
b) En la intersección de zi con la normal común entre zi & zi-1
→ Si zi & zi-1 son paralelos, escoger arbitrariamente alguna normal

q3
z0 q2 z2
q1 y0 z1

x0
normal
una normal entre z1 y z2
entre z0 y z1

10
Convención de Denavit-Hartenberg
(1) Asignación de Sistemas de Referencia

• Eje xi: si zi-1 & zi se intersecan asignar xi en dirección de zi-1 x zi. Si (zi-1
(de 1 a n-1)
& zi) son paralelos, asignar xi a lo largo de la normal común entre zi-1 & zi con
dirección positiva desde i hasta i+1 (usualmente apuntando “hacia” el efector final) .
Nota: a veces si zi-1 & zi se intersecan la dirección positiva de xi se suele tomar
de forma arbitraria, es decir, zi-1 x zi o zi x zi-1

• Eje yi: (de 1 a n-1) asignar yi para completar el sistema coordenado (según la regla
de la mano derecha)
q3
z0 q2
q1 y0 y2
z1 y1
z2
x0 x1 x2

una normal Notar que el sistema {i} está


entre z0 y z1
al “final” del eslabón i

En realidad, xi se puede asignar en la dirección de ±(zi-1 x zi).


11
Convención de Denavit-Hartenberg
(1) Asignación de Sistemas de Referencia

• Sistema del efector final {n}:


- xn debe ser ortogonal a zn-1 e intersectarlo (el origen del sistema normalmente al
final de la cadena cinemática)
- Normalmente zn en la misma dirección de zn-1 apuntando hacia afuera del robot
- yn completa el sistema (regla de la mano derecha)

q3 z3
z0 q2 x3
q1 y0 y2
z1 y1
z2 y3

x0 x1 x2 n=3

12
Temas

1. Convención de Denavit-Hartenberg

1.1. Asignación de sistemas de referencia

1.2. Asignación de parámetros DH

1.3. Transformación homogénea

2. Ejemplo 1 (DH): Robot SCARA

3. Ejemplo 2 (DH): Robot Fanuc

4. Ejemplo 3 (DH): Robot Stanford

13
Convención de Denavit-Hartenberg
(2) Asignación de Parámetros DH

Parámetros de la articulación

• Ángulo de la articulación (θi): ángulo de rotación del eje xi-1 al eje xi alrededor
del eje zi-1, para ser tomado positivo cuando la rotación es antihoraria
→ Es la variable articular si la articulación i es de revolución

• Desplazamiento de la articulación (di): distancia del origen del sistema {i-1} a


la intersección del eje zi-1 con el eje xi a lo largo del eje zi-1
→ Es la variable articular si la articulación i es prismática

Parámetros del eslabón (constantes)

• Longitud del eslabón (ai): distancia desde la intersección entre el eje zi-1 y el
eje xi hacia el origen del sistema {i} a lo largo del eje xi

• Ángulo de giro del eslabón (αi): ángulo de rotación del eje zi-1 al eje zi
alrededor del eje xi, para ser tomado positivo cuando la rotación es antihoraria

14
Convención de Denavit-Hartenberg
(2) Asignación de Parámetros DH

articulación articulación
qi-1 qi articulación
eslabón i-1 qi+1
eslabón i

zi
zi-1
xi-1 xi

Parámetros de la articulación
• di: distancia del origen de {i-1} a la [intersección de zi-1 con xi] a lo largo de zi-1
• θi: ángulo de rotación de xi-1 a xi alrededor de zi-1

Nota: di, θi tienen signo (pueden ser + o -)


15
Convención de Denavit-Hartenberg
(2) Asignación de Parámetros DH

articulación articulación
qi-1 articulación
qi qi+1
eslabón i-1
eslabón i

ángulo entre ejes de


las articulaciones
zi
zi-1
xi-1 xi

Parámetros del eslabón


• ai: distancia de [la intersección de zi-1 con xi] al origen de {i} a lo largo de xi
• αi: ángulo de zi-1 a zi alrededor de xi

Nota: ai, αi tienen signo (pueden ser + o -)


16
Convención de Denavit-Hartenberg
(2) Asignación de Parámetros DH

articulación articulación
qi-1 articulación
qi qi+1

zi
zi-1
xi-1 xi

Resumen
• di: distancia del origen de {i-1} a la [intersección de zi-1] con xi a lo largo de zi-1
• θi: ángulo de rotación de xi-1 a xi alrededor de zi-1
• ai: distancia de [la intersección de zi-1 con xi] al origen de {i} a lo largo de xi
• αi: ángulo de zi-1 a zi alrededor de xi

17
Convención de Denavit-Hartenberg
(2) Asignación de Parámetros DH

Ejemplo
q3 z3
z0 q2 x3
q1 y0 y2
z1 y1
z2 y3

x0 x1 x2
l1 l2
Artic. i di θi ai αi
1 0 q1 l1 0°
2 0 180°+q2 -l2 90°
3 l3 180°+q3 0 0°

di: distancia del origen de {i-1} a [la intersección de zi-1 con xi] a lo largo de zi-1
θi: ángulo de rotación de xi-1 a xi alrededor de zi-1
ai: distancia de [la intersección de zi-1 con xi] al origen de {i} a lo largo de xi
αi: ángulo de zi-1 a zi alrededor de xi
18
Convención de Denavit-Hartenberg
(2) Asignación de Parámetros DH

Ejemplo
q3 z3
z0 q2 x3
q1 y0 y2
z1 y1
z2 y3

x0 x1 x2
l1 l2

Nota:
Artic. i di θi ai αi Artic. i di θi ai αi Home
1 0 q1 l1 0° A veces 1 0 q1 l1 0° 0°
2 0 180°+q2 -l2 90° escrito como 2 0 q2 -l2 90° 180°
3 l3 180°+q3 0 0° 3 l3 q3 0 0° 180°

A veces también se omite el “home”


19
Temas

1. Convención de Denavit-Hartenberg

1.1. Asignación de sistemas de referencia

1.2. Asignación de parámetros DH

1.3. Transformación homogénea

2. Ejemplo 1 (DH): Robot SCARA

3. Ejemplo 2 (DH): Robot Fanuc

4. Ejemplo 3 (DH): Robot Stanford

20
Convención de Denavit-Hartenberg
(3) Transformación Homogénea

• Objetivo: llevar el sistema {i-1} al sistema {i}


1. Primero llevar {i-1} a {G}
qi+1
qi
zg
{G} xg zi
zi-1
xi-1 xi
{i}
{i-1}

- Rotar un ángulo θi alrededor de zi-1


- Trasladar una distancia di a lo largo de zi-1
cos i  sin i 0 0
 sin  cos i 0 0  Varía según el
i 1
TG (i , di )  Trot zi1 (i ) Traslzi1 (di )   i
valor de la
 0 0 1 di  articulación (θi, di)
 
 0 0 0 1
Nota: si primero se traslada y luego se rota, el resultado es el mismo (¿Por qué?) 21
Convención de Denavit-Hartenberg
(3) Transformación Homogénea

• Objetivo: llevar el sistema {i-1} al sistema {i}


2. Luego llevar {G} a {i}
qi+1
qi
zg
{G} xg zi
zi-1
xi-1 xi
{i}
{i-1}

- Trasladar una distancia ai a lo largo de xi


- Rotar un ángulo αi alrededor de xi

1 0 0 ai 
0 cos   sin  i 0  Siempre
G
Ti ( i , ai )  Traslxi (ai )Trot xi ( i )   i
constante
0 sin  i cos  i 0
 
0 0 0 1
Nota: si primero se traslada y luego se rota, el resultado es el mismo 22
Convención de Denavit-Hartenberg
(3) Transformación Homogénea

• Objetivo: llevar el sistema {i-1} al sistema {i}


i 1
Ti   i 1TG  G Ti 

cos i  sin i 0 0  1 0 0 ai 
 sin  cos i 0 0  0 cos  i  sin  i 0 
i 1
Ti (i , di ,  i , ai )   i

 0 0 1 di  0 sin  i cos  i 0
  
 0 0 0 1  0 0 0 1

cos i  cos  i sin i sin  i sin i ai cos i 


 sin  cos  i cos i  sin  i cos i ai sin i 
i 1
Ti (i , di ,  i , ai )   i

 0 sin  i cos  i di 
 
 0 0 0 1 

Matriz de transformación homogénea DH que relaciona


el sistema {i} con respecto al sistema {i-1}
23
Convención de Denavit-Hartenberg
(3) Transformación Homogénea

• Resultado final
- Una vez calculado cada i-1Ti (para todo i = 1, 2,…, n), se pueden multiplicar
(producto de transformaciones homogéneas)

0
Tn   0 T1  1T2   n2
Tn 1  n 1Tn 

- El resultado final representa: (posición y orientación del) efector final con


respecto a la base del robot

• Implementación
- Para robots con pocos grados de libertad se puede obtener 0Tn de manera
simbólica (“ecuaciones”)
- Para robots con varios grados de libertad se suele realizar los cálculos de
modo numérico (matriz por matriz, y luego se multiplica)

24
Convención de Denavit-Hartenberg
(3) Transformación Homogénea

Ejemplo
z3
q3
z0 x3
q2 y2
q1 y0 z1 y1
Artic. i di θi ai αi z2 y3
1 0 q1 l1 0 x0 x1 x2
l1 l2
2 0 180+q2 -l2 90
3 l3 180+q3 0 0

cos q1  sin q1 0 l1 cos q1 


 sin q cos q1 0 l1 sin q1 
0
T1   1

 0 0 1 0 
 
 0 0 0 1 

cos 180  q2  0 sin 180  q2  l2 cos 180  q2     cos q2 0  sin q2 l2 cos q2 
  
sin 180  q2  0  cos 180  q2  l2 sin 180  q2     sin q2 0 cos q2 l2 sin q2 
1
T2   
 0 1 0 0   0 1 0 0 
   
 0 0 0 1   0 0 0 1 

25
Convención de Denavit-Hartenberg
(3) Transformación Homogénea

Ejemplo
z3
q3
z0 x3
q2 y2
q1 y0 z1 y1
Artic. i di θi ai αi z2 y3
1 0 q1 l1 0 x0 x1 x2
l1 l2
2 0 180+q2 -l2 90
3 l3 180+q3 0 0

cos 180  q3   sin 180  q3  0 0    cos q3 sin q3 0 0


  
sin 180  q3  cos 180  q3  0 0    sin q3  cos q3 0 0 
2
T3   
 0 0 1 l3   0 0 1 l3 
   
 0 0 0 1  0 0 0 1

c12 c3 c12 s3  s12 l2 c12  l3 s12  l1c1 


c1 = cos(q1)
s c  s12 s3 l3c12  l2 s12  l1s1 
T3   0 T1  1T2  2 T3 
c12
  12 3
0 s1 = sin(q1)
  s3 c3 0 0  c12 = cos(q1+q2)
  s12 = sin(q1+q2)
 0 0 0 1 

26
Convención de Denavit-Hartenberg
(3) Transformación Homogénea

Ejemplo
z3
q3
z0 x3
q2 y2
q1 y0 z1 y1
Artic. i di θi ai αi z2 y3
1 0 q1 l1 0 x0 x1 x2
l1 l2
2 0 180+q2 -l2 90
3 l3 180+q3 0 0

Posición inicial (mostrada en la figura):


- Todas las variables articulares en cero (q1 = 0, q2 = 0, q3 = 0)

1 0 0 l1   1 0 0 l2   1 0 0 0 1 0 0 l2  l1 
0 1 0 0  0 0 1 0   0 1 0 0  0 0 1 l3 
0
T1   1
T2   2
T3   0
T3  
0 0 1 0 0 1 0 0 0 0 1 l3  0 1 0 0 
       
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 

Verificar en la figura “interpretando” las transformaciones homogéneas

27
Convención de Denavit-Hartenberg
Ilustración

Nota: en el vídeo se usa r en lugar de a y no se añade subíndices


https://youtu.be/rA9tm0gTln8

28
Convención de Denavit-Hartenberg
Diferentes formas de representar los sistemas
de referencia en un robot planar 3R

• El propósito de incluir varias representaciones gráficas para el robot 3R, busca motivar la
imaginación para encontrar la posición más apropiada de los eslabones del robot, de
forma que se facilite la aplicación de los principios de la convención DH. 29
Convención de Denavit-Hartenberg
Diferentes formas de representar los sistemas
de referencia en un robot planar 3R
Sistema efector final
no normalizado

Sistema efector
final normalizado

Sistema efector final


no normalizado

Nota: Los parámetros 𝐿𝑒 , 𝐿3 y 𝑎3 representan la longitud


de la herramienta, gripper, pinza o efector final.
30
Convención de Denavit-Hartenberg
Cinemática de una Muñeca Esférica

• Una muñeca esférica es una combinación de eslabones y articulaciones para


simular una articulación esférica y proporcionar 3 GDL rotacionales para el eslabón
de la mano (gripper o pinza).

• Se asume que el eje del


antebrazo y la mano (eje del
gripper) son colineales en la
posición de reposo.

• Está formado por tres eslabones con longitudes cero y desplazamiento cero donde
sus ejes de unión son mutuamente ortogonales y se intersectan en un punto
llamado punto común o punto de intersección.
31
Convención de Denavit-Hartenberg
Cinemática de una Muñeca Esférica

• El sistema gripper (pinza o


herramienta) de la muñeca
se denota por tres vectores,
෠ 𝒔 ≡ 𝑖,Ƹ 𝒏 ≡ 𝑗.Ƹ
𝒂 ≡ 𝑘,

• Se localiza en un punto
simétrico entre los dedos de
una mano vacía o en la
punta de las herramientas
sujetadas por los dedos.

• Un giro sobre el eje x origina un yaw o movimiento horizontal.

• Un giro sobre el eje y da lugar a un movimiento vertical también conocido como un


pitch.

• Las rotaciones sobre el eje z producirán que la muñeca gire sobre su propio eje
(coincidente con el eje del gripper), lo que se conoce como un movimiento roll.
32
Convención de Denavit-Hartenberg
Cinemática de una Muñeca Esférica

Clasificación de las muñecas


esféricas

Descomponiendo las rotaciones de una muñeca esférica en tres rotaciones (yaw, pitch, roll)
sobre tres ejes ortogonales y considerando el orden de aparición se clasifican en:

Tipo 1: Roll–Pitch–Roll → (ZYZ)


Tipo 2: Roll–Pitch–Yaw → (ZYX)
Tipo 3: Pitch–Yaw–Roll → (YXZ)
33
Convención de Denavit-Hartenberg
Cinemática de una Muñeca Esférica Roll–Pitch–Roll
Muestra cada uno de los ejes a una distancia apropiada del Permite entender claramente cómo la
elemento actuador, asegurando claridad en la distribución de los sistemas
representación. Sin embargo, en dicha postura del robot no coordenados obedece puntualmente
está claro si la distribución cumple con la convención DH. las reglas de la convención DH.

Vista con posición inclinada


Observaciones:
• Nótese que las variables articuladas se numeran desde el subíndice 4 como 𝜃4 ,
𝜃5 y 𝜃6 ; esto no es un error, sino que tiene por objetivo indicar que la muñeca
esférica es comúnmente usada como actuador final con tres grados de libertad,
en sistemas que comúnmente cuentan con seis grados de libertad.

• Una vez que se han establecido 𝑧3 , 𝑧4 , 𝑧5 y se ha elegido 𝑥3 , existe una


indeterminación en las direcciones de 𝑥4 y 𝑥5 .
Vista en posición en reposo
• El parámetro 𝑑6 representa la longitud de la herramienta. 34
Convención de Denavit-Hartenberg
Cinemática de una Muñeca Esférica Roll–Pitch–Roll
Considerando que los tres eslabones de la muñeca tienen longitudes cero, una representación mas
realista de los sistemas de referencia sería:

Vista con posición inclinada Vista en posición en reposo o de alcance máximo

• Los ejes de las articulaciones 4, 5 y 6 se intersecan todos en un punto común, y este punto de
intersección coincide con el origen de las sistemas {3}, {4} y {5}.
• Los ejes de articulación 4, 5 y 6 son mutuamente ortogonales.
• Los ejes unitarios del sistema {6} coinciden con los ejes unitarios de un posible sistema del efector final.
35
Convención de Denavit-Hartenberg
Cinemática de una Muñeca Esférica Roll–Pitch–Roll

Artic. i di θi ai αi
1 0 𝜃4 0 -90
2 0 𝜃5 0 90
3 d6 𝜃6 0 0

36
Convención de Denavit-Hartenberg
Cinemática de una Muñeca Esférica Roll–Pitch–Roll

Artic. i di θi ai αi
1 0 𝜃4 0 -90
2 0 𝜃5 0 90
3 d6 𝜃6 0 0

La matriz de transformación en posición de reposo, donde 𝜃4 = 0, 𝜃5 = 0 y 𝜃6 = 0, es:

Observación: como consecuencia de la elección realizada para los sistemas de coordenadas {3}, {4}
y {5}, la matriz de rotación 3𝑅6 que se puede extraer de la matriz de transformación 3𝑇6 coincide con
la matriz de rotación de los ángulos de Euler, es decir, 𝜃4 , 𝜃5 , 𝜃6 constituyen el conjunto de ángulos
ZYZ con respecto al sistema de referencia {3}.
37
Temas

1. Convención de Denavit-Hartenberg

1.1. Asignación de sistemas de referencia

1.2. Asignación de parámetros DH

1.3. Transformación homogénea

2. Ejemplo 1 (DH): Robot SCARA

3. Ejemplo 2 (DH): Robot Fanuc

4. Ejemplo 3 (DH): Robot Stanford

38
Ejemplo 1: DH de un Robot SCARA

1. Sistemas de referencia
q3
q2
q1 q4
l2 l3

• Enumeración y ejes de articulaciones


• Sistema de coordenadas de la base: z0
a lo largo del eje de la articulación 1
(origen arbitrario, x0 arbitrario)
l4
l1
z0

y0
x0

39
Ejemplo 1: DH de un Robot SCARA

1. Sistemas de referencia
q3
q2
q1 q4
l2 l3
z1 x1 • Eje zi: zi en eje de articulación i+1
y1
z2 y2 • Origen del sistema {i}:
a) Intersección de zi & zi-1, o
x2 b) Intersección de zi con normal entre zi & zi-1
(Si zi & zi-1 paralelos: normal arbitraria)
z3 l4
y3
l1 • Eje xi: en dirección de zi-1 x zi. Si (zi-1 & zi)
z0 paralelos, xi en su normal común
x3
• Eje yi: asignar yi para completar el sistema
y0 coordenado (según la regla de la mano
x0
derecha)

40
Ejemplo 1: DH de un Robot SCARA

1. Sistemas de referencia
q3
q2
q1 q4
l2 l3
z1 x1
y1
• Sistema del efector final {n}:
z2 y2 - xn ortogonal a zn-1 e intersectarlo (origen al
final de la cadena)
x2
- zn en dirección de zn-1 hacia afuera
- yn completa el sistema
z3 l4
y3
l1
z0 x3

y0 x4
x0
y4
z4

41
Ejemplo 1: DH de un Robot SCARA

2. Parámetros DH
q3
q2
q1 q4
l2 l3 Artic. i di θi ai αi
z1 x1 1 l1 180°+q1 l2 0°
y1
z2 2 0 -90°+q2 l3 0°
y2
3 -l4+q3 0° 0 0°
x2 4 0 90°+q4 0 180°

z3 l4
y3
l1
z0 x3 di: distancia de {i-1} a [intersección de zi-1 con xi]
en zi-1
y0 x4 θi: ángulo de xi-1 a xi alrededor de zi-1
x0
y4 ai: distancia de [intersección de zi-1 con xi] a {i}
z4 en xi
αi: ángulo de zi-1 a zi alrededor de xi

42
Ejemplo 1: DH de un Robot SCARA

3. Matrices de Transformación Homogénea

Artic. i di θi ai αi
1 l1 180°+q1 l2 0°
2 0 -90°+q2 l3 0°
3 -l4+q3 0° 0 0°
4 0 90°+q4 0 180°

  cos q1 sin q1 0 l2 cos q1  1 0 0 0 


  sin q  cos q1 0 l2 sin q1  0 1 0 0 
0
T1 (q1 )   1 2
T3 (q3 )  
 0 0 1 l1  0 0 1 q3  l4 
   
 0 0 0 1  0 0 0 1 

 sin q2 cos q2 0 l3 sin q2    sin q4 cos q4 0 0


  cos q  sin q2 0 l3 cos q2   cos q sin q4 0 0 
1
T2 (q2 )   2 3
T4 (q4 )   4
'
 0 0 1 0   0 0 1 0 
   
 0 0 0 1   0 0 0 1

43
Ejemplo 1: DH de un Robot SCARA

3. Matrices de Transformación Homogénea

- Efector final con respecto a la base:

0
T4   0 T1  1T2  2 T3  3 T4  l2 l3

 c124  s124 0 l3 s12  l2 c1 


s c124 0 l3c12  l2 s1 
  124 '
 0 0 1 l1  l4  q3 
 
 0 0 0 1  l4
l1
z0
- Para la configuración inicial (q1 = q2 = q3 = q4 = 0):
y0 x4
x0
 1 0 0 l2  y4
0 1 0 l3  z4
0
T4   '
0 0 1 l1  l4  Robot en configuración inicial
 
0 0 0 1 

Verificar por inspección en el diagrama Comparar con el resultado obtenido


usando el método geométrico
44
Ejemplo 1: DH de un Robot SCARA

• Nota: representación alternativa de parámetros DH

Usando una posición inicial (“home”)

Artic. i di θi ai αi Artic. i di θi ai αi Home

1 l1 180+q1 l2 0 1 l1 q1 l2 0 180°
2 0 -90+q2 l3 0 2 0 q2 l3 0 -90°
3 -l4+q3 0 0 0 3 q3 0 0 0 -l4
4 0 90+q4 0 180 4 0 q4 0 180 90°

La transformación homogénea La transformación homogénea


resultante ya contiene la posición resultante no contiene la posición
inicial (de la figura) para las inicial (de la figura) para las
articulaciones en cero articulaciones en cero

Se debe usar las articulaciones con


el valor “home” para obtener la
posición de la figura
45
Ejemplo 1: DH de un Robot SCARA

• Matrices de Transformación Homogénea usando Python (SymPy)

import sympy as sp
Función que obtiene la transf.
homogénea dados parámetros DH def Tdh(d, theta, a, alpha): # completar

# Variables simbólicas
q1, q2, q3, q4 = sp.symbols("q1 q2 q3 q4")
l1, l2, l3, l4 = sp.symbols("l1 l2 l3 l4")

# Transformaciones homogéneas
Uso de variables simbólicas para el T01 = Tdh(l1, sp.pi+q1, l2, 0)
cálculo de cada transformación T12 = Tdh(0,-sp.pi/2+q2, l3, 0)
homogénea. T23 = Tdh(-l4+q3, 0, 0, 0)
T34 = Tdh(0, sp.pi/2+q4, 0, sp.pi)

# Transformación homogénea final


Tf = sp.simplify(T01*T12*T23*T34)

# Evaluación con valores específicos


Para las condiciones de la figura Tf.subs([(q1,0),(q2,0),(q3,0),(q4,0)])

46
Ejemplo 1: DH de un Robot SCARA

• Verificación de DH usando Python


- Se define el robot usando únicamente los parámetros DH

from serialrobot import *

# Longitudes iniciales
l1=1; l2=1; l3=1; l4=0.5;

# Definición del robot usando parámetros DH


# Orden: d, th, a, alpha, PR
L = [[ l1, np.pi, l2, 0, 'r'], Se usa los parámetros
[ 0, -np.pi/2, l3, 0, 'r'], DH incluyendo la
[-l4, 0, 0, 0, 'p'], configuración inicial (la
[ 0, np.pi/2, 0, np.pi, 'r']]
variable angular q se
# Creación del robot inicia a 0)
scara = SerialRobot(L, name='scara')
Al definir el eslabón PR indica :
# Cinemática directa (posición inicial) ‘r’ = articulación de revolución
T = scara.fkine([0,0,0,0]) ‘p’ = articulación de prismática

# Visualización (de la posición inicial)


alims = [[-2,2],[-2,2],[-0.2, 1.3]]
scara.plot([0, 0, 0, 0], axlimits=alims)

La clase SerialRobot está en el archivo serialrobot.py (en la página del curso) 47


Ejemplo 1: DH de un Robot SCARA

• Verificación de DH usando Python


- Al graficar la configuración inicial, se debe observar un modelo simplificado
pero similar al robot utilizado
- Los elementos verdes indican (deben indicar) los ejes “z” de los sistemas de
referencia asignados

l2 l3
z1 x1
y1
z2 y2

x2

z3
y3 l4
l1
z0 x3

y0 x4
x0
y4
z4

48
Ejemplo 1: DH de un Robot SCARA

Matrices de Transformación Homogénea usando MATLAB

Función que obtiene la transf.


function T = dh(d,theta,a,alpha)
homogénea dados parámetros DH

% Declaracion de variables simbolicas


syms q1 q2 q3 q4 l1 l2 l3 pi

% Transformaciones homogeneas parciales


Uso de variables simbólicas para el T1 = simplify( dh(l1, pi+q1, l2, 0) )
cálculo de cada transformación T2 = simplify( dh(0,-pi/2+q2, l3, 0) )
homogénea. T3 = simplify( dh(-l4+q3, 0, 0, 0) )
T4 = simplify( dh(0, pi/2+q4, 0, pi) )

% Transformacion homogenea final


Tf = simplify(T1*T2*T3*T4)

% Evaluacion con valores especificos


Para las condiciones de la figura q1=0; q2=0; q3=0; q4=0;
eval(Tf);

49
Ejemplo 1: DH de un Robot SCARA

Verificación usando el Robotics Toolbox de P. Corke para MATLAB

matlabrc % Para evitar problemas con funciones


addpath('path_a_robotics_toolbox/common')
addpath(‘path_a_robotics_toolbox/robot')

% Longitudes iniciales
l1=1; l2=1; l3=1; l4=0.5;
Se usa parámetros DH
% Definicion del robot usando DH (th,d,a,alfa,P/R)
sin incluir configuración
L(1)=Link([0, l1, l2, 0, 0]);
inicial (la variable angular
L(2)=Link([0, 0, l3, 0, 0]);
q se inicia a 0)
L(3)=Link([0, 0, 0, 0, 1]);
L(4)=Link([0, 0, 0, pi, 0]); Al definir el eslabón P/R indica :
% Creacion del robot 0 = articulación de revolución
scara = SerialLink(L, 'name', 'scara'); 1 = articulación de prismática

% Cinematica directa (ejemplo: posicion home)


scara.fkine([pi -pi/2 -l4 pi/2])

% Visualizacion (de la posicion inicial)


scara.plot([pi -pi/2 -l4 pi/2],'workspace',...
[-2 2 -2 2 -1 2]);

http://petercorke.com/wordpress/toolboxes/robotics-toolbox 50
Ejemplo 1: DH de un Robot SCARA

Verificación usando el Robotics Toolbox de P. Corke para MATLAB

l2 l3

l4
l1
z0

y0 x4
x0
y4
z4

51
Temas

1. Convención de Denavit-Hartenberg

1.1. Asignación de sistemas de referencia

1.2. Asignación de parámetros DH

1.3. Transformación homogénea

2. Ejemplo 1 (DH): Robot SCARA

3. Ejemplo 2 (DH): Robot Fanuc

4. Ejemplo 3 (DH): Robot Stanford

52
Ejemplo 2: DH del Robot Fanuc M-10iA

Robot Fanuc M-10iA


https://youtu.be/Vrxaz0_X3Qs

53
Ejemplo 2: DH del Robot Fanuc M-10iA

Esquemático: vista lateral Esquemático: vista superior Esquemático:


vista isométrica

De: Datasheet M-10iA Series FANUC ROBOTICS 54


Ejemplo 2: DH del Robot Fanuc M-10iA
1. Sistemas de referencia

640

200

600

150

z0 z0 450

y0 x0
x0

- Enumeración y ejes de articulaciones


- Sistema de coordenadas de la base 55
Ejemplo 2: DH del Robot Fanuc M-10iA
1. Sistemas de referencia

z5 640
z3
z3
200
z5
z2
z4

600

150
z1

z0 z0 450

y0 x0
x0

- Eje zi
- Origen del sistema {i} 56
Ejemplo 2: DH del Robot Fanuc M-10iA
1. Sistemas de referencia

z5 640
z3 x3 y 3 x5
x4
y4 z3 x3
x2
x4 x2 200
y5
z5 y4 y2
y2 z2
x5 z4

600

x1 150
z1 x1

y1 y1
z0 z0 450

y0 x0
x0

- Eje xi
- Eje yi 57
Ejemplo 2: DH del Robot Fanuc M-10iA
1. Sistemas de referencia

z5 640
z3 x3 y 3 x5
x4
y4 z3 x3
x2
x4 x2 200
y5 z6
z5 y4 y2
y2 z2 x6
x5 z4

600
z6 y6
x6 x1 150
z1 x1

y1 y1
z0 z0 450

y0 x0
x0

- Sistema del efector final


58
Ejemplo 2: DH del Robot Fanuc M-10iA
2. Parámetros DH
Artic. i di θi ai αi Artic. i di θi ai αi
1 450 180°+q1 -150 90° 4 640 180°+q4 0 90°
2 0 90°+q2 600 0° 5 0 180°+q5 0 90°
3 0 180°+q3 -200 90° 6 0 q6 0 0°

640
z3 x3 y 3 z5
x4
x2 x5 y4 z3 x3
y5 x4 x2 200
z5 y4 z6
y2 z2 y2
x5 z4 x6

z6 y6 600
x6 x1
150
z1 x1
y1 z0 y1
z0 450

x0 y0 x0
59
Ejemplo 2: DH del Robot Fanuc M-10iA
3. Matrices de Transformación Homogénea
Artic. i di θi ai αi Artic. i di θi ai αi
1 450 180°+q1 -150 90° 4 640 180°+q4 0 90°
2 0 90°+q2 600 0° 5 0 180°+q5 0 90°
3 0 180°+q3 -200 90° 6 0 q6 0 0°

  cos(q1 ) 0  sin(q1 ) 150 cos( q1 )    cos(q4 ) 0  sin( q4 ) 0 


  sin(q ) 0 cos( q1 ) 150sin( q1 )    sin(q ) 0 cos( q4 ) 0 
0
T1 (q1 )   1 3
T4 (q4 )   4

 0 1 0 450   0 1 0 640 
   
 0 0 0 1   0 0 0 1 

  sin(q2 )  cos( q2 ) 0 600sin( q2 )    cos(q5 ) 0  sin( q5 ) 0 


 cos(q )  sin(q ) 0 600 cos( q2 )    sin(q ) 0 cos( q5 ) 0 
1
T2 (q2 )   2 2 4
T5 (q5 )   5

 0 0 1 0   0 1 0 0
   
 0 0 0 1   0 0 0 1

  cos(q3 ) 0  sin( q3 ) 200 cos( q3 )  cos(q6 )  sin( q6 ) 0 0


  sin(q ) 0 cos(q 3 ) 200sin( q3 )   sin(q ) cos( q ) 0 0 
2
T3 (q3 )   3 5
T6 (q6 )   6 6

 0 1 0 0   0 0 1 0
   
 0 0 0 1   0 0 0 1
60
Ejemplo 2: DH del Robot Fanuc M-10iA
3. Matrices de Transformación Homogénea

- Efector final con respecto a la base:


640
0
T6   0 T1  1T2  2 T3  3 T4  4 T5  5 T6 
z6 200
- Para la configuración inicial (ángulos en cero): x6
q1  q2  q3  q4  q5  q6  0
600
0 0 1 790 
0 1 0 0  150
0
T6  
 1 0 0 1250 
  z0
0 0 0 1  450
Se puede verificar por
inspección en el diagrama x0

Robot en configuración inicial

61
Ejemplo 2: DH del Robot Fanuc M-10iA

• Matrices de Transformación Homogénea usando Python (SymPy)

Función que obtiene la transf.


def Tdh(d,theta,a,alpha): # completar
homogénea dados parámetros DH

# Variables simbólicas
q1, q2, q3, q4, q5, q6 = sp.symbols("q1 q2 q3
q4, q5, q6")

# Transformaciones homogéneas
T01 = Tdh(450, sp.pi+q1, -150, sp.pi/2);
Uso de variables simbólicas T12 = Tdh( 0, q2+sp.pi/2, 600, 0);
para el cálculo de cada T23 = Tdh( 0, q3+sp.pi, -200, sp.pi/2);
transformación homogénea. T34 = Tdh(640, q4+sp.pi, 0, sp.pi/2);
T45 = Tdh( 0, q5+sp.pi, 0, sp.pi/2);
T56 = Tdh( 0, q6, 0, 0);

# Transformación homogénea final


Tf = sp.simplify(T01*T12*T23*T34*T45*T56)

# Evaluación con valores específicos


Para las condiciones de la figura Tf.subs({q1:0, q2:0, q3:0, q4:0, q5:0, q6:0})

62
Ejemplo 2: DH del Robot Fanuc M-10iA

• Verificación de DH usando Python


- Se define el robot usando únicamente los parámetros DH

from serialrobot import *

# Definición del robot usando parámetros DH


# Orden: d, th, a, alpha, PR
L = [[ 0.450, np.pi, -0.150, np.pi/2, 'r'],
[ 0, np.pi/2, 0.600, 0, 'r'],
[ 0, np.pi, -0.200, np.pi/2, 'r'],
[ 0.640, np.pi, 0, np.pi/2, 'r'],
[ 0, np.pi, 0, np.pi/2, 'r'],
[ 0, 0, 0, 0, 'r']]

# Creación del robot


fanuc = SerialRobot(L, name=‘fanuc-M10iA')

# Cinemática directa (posición inicial)


T = fanuc.fkine([0,0,0,0,0,0])

# Ejes para la visualización


alims = [[-0.1,1.3],[-0.7,0.7],[-0.1, 1.4]]
# Visualización (de la posición inicial)
fanuc.plot([0,0,0,0,0,0], axlimits=alims,
ascale=0.3, ee=False)

La clase SerialRobot está en el archivo serialrobot.py (en la página del curso) 63


Ejemplo 2: DH del Robot Fanuc M-10iA

• Verificación de DH usando Python


- Al graficar la configuración inicial, se debe observar un modelo simplificado
pero similar al robot utilizado
- Los elementos verdes indican (deben indicar) los ejes “z” de los sistemas de
referencia asignados

z3 x3 y 3
x2
y5 x4
z5 y4 y2 z2
x5 z4

z6 y6
x6 x1
z1
y1 z0

x0 y0

64
Ejemplo 2: DH del Robot Fanuc M-10iA

Matrices de Transformación Homogénea usando MATLAB

Función que obtiene la transf.


function T = dh(d,theta,a,alpha)
homogénea dados parámetros DH

% Declaracion de variables simbolicas


syms q1 q2 q3 q4 q5 q6 pi
% Transformaciones homogeneas parciales
T1 = simplify( dh(450, pi+q1, -150, pi/2) );
Uso de variables simbólicas para el T2 = simplify( dh(0, q2+pi/2, 600, 0) );
cálculo de cada transformación T3 = simplify( dh(0, q3+pi, -200, pi/2) );
homogénea. T4 = simplify( dh(640, q4+pi, 0, pi/2) );
T5 = simplify( dh(0, q5+pi, 0, pi/2) );
T6 = simplify( dh(0, q6, 0, 0) );
% Transformacion homogenea final
Tf = simplify(T1*T2*T3*T4)

% Evaluacion con datos especificos


Para las condiciones de la figura q1=0; q2=0; q3=0; q4=0; q5=0; q6=0;
eval(Tf);

65
Ejemplo 2: DH del Robot Fanuc M-10iA

Verificación usando el Robotics Toolbox de P. Corke para MATLAB

matlabrc % Para evitar problemas con funciones


addpath('path_a_robotics_toolbox/common')
addpath('path_a_robotics_toolbox/robot')

% Definicion del robot usando DH (th,d,a,alfa)


L(1)=Link([0, 0.450, -0.150, pi/2]);
L(2)=Link([0, 0, 0.600, 0]);
L(3)=Link([0, 0, -0.200, pi/2]);
L(4)=Link([0, 0.640, 0, pi/2]);
L(5)=Link([0, 0, 0, pi/2]);
L(6)=Link([0, 0, 0, 0]);

% Creacion del robot


fanuc = SerialLink(L, 'name', 'fanuc');

% Cinematica directa (ejemplo)


fanuc.fkine([pi pi/2 pi pi pi 0])

% Visualizacion
fanuc.plot([pi pi/2 pi pi pi 0]);

http://petercorke.com/wordpress/toolboxes/robotics-toolbox 66
Ejemplo 2: DH del Robot Fanuc M-10iA

Verificación usando el Robotics Toolbox de P. Corke para MATLAB

z6 y6
x6

z0

x0 y0

67
Temas

1. Convención de Denavit-Hartenberg

1.1. Asignación de sistemas de referencia

1.2. Asignación de parámetros DH

1.3. Transformación homogénea

2. Ejemplo 1 (DH): Robot SCARA

3. Ejemplo 2 (DH): Robot Fanuc

4. Ejemplo 3 (DH):Robot Stanford

68
Ejemplo 3: DH del Robot Stanford
1. Sistemas de referencia

69
Ejemplo 3: DH del Robot Stanford
2. Parámetros DH
Artic. i di θi ai αi Artic. i di θi ai αi
1 d1 𝜃1 0 -90 4 0 𝜃4 0 -90
2 d2 𝜃2 0 90 5 0 𝜃5 0 90
3 d3 -90 0 0 6 d6 𝜃6 0 0

70
Ejemplo 3: DH del Robot Stanford
3. Matrices de Transformación Homogénea

Artic. i di θi ai αi Artic. i di θi ai αi
1 d1 𝜃1 0 -90 4 0 𝜃4 0 -90
2 d2 𝜃2 0 90 5 0 𝜃5 0 90
3 d3 -90 0 0 6 d6 𝜃6 0 0

71
Ejemplo 3: DH del Robot Stanford
3. Matrices de Transformación Homogénea

Efector final con


respecto a la base:

0
𝐴6 = 0𝐴3 . 3𝐴6

72
Denavit-Hartenberg Modificado

• Introducido por J.J. Craig (Introduction to Robotics, Mechanics and Control)


• Características principales:
- A veces genera confusiones (cuando no se menciona que se está usando)
- Usa eje zi en articulación i
- ai, αi: relacionan zi y zi+1 a lo largo de xi
- di, θi: relacionan xi-1 a xi a lo largo de zi

 ci  si 0 ai 1 
 
i 1 c s ci1 ci  si1 d i si1 
Modificado: Ti   i1 i
s s si1 ci ci1 d i ci1 
 i1 i 
 0 0 0 1 

ci ci si si si ai ci 


 
i 1  s ci ci  si ci ai si 
Estándar: Ti   i
0 si ci di 
 
 0 0 0 1 
73
Referencias

• B. Siciliano, L. Sciavicco, L. Villani, y G. Oriolo. Robotics: modelling,


planning an-d control. Springer Science & Business Media, 2010
(Secciones 2.8-2.9)

• M.W. Spong, S. Hutchinson, y M. Vidyasagar. Robot Modeling and


Control. John Wiley & Sons, 2006 (Secciones 3.1-3.2)

74

También podría gustarte