Cinemática Directa en Robots Manipuladores
Cinemática Directa en Robots Manipuladores
- Tema 4 -
Cinemática Directa de Robots
Manipuladores (II)
Ing. Junior Figueroa Olmedo Mg.
Temas
1. Convención de Denavit-Hartenberg
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
• 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)
- 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
1. Convención de Denavit-Hartenberg
6
Convención de Denavit-Hartenberg
(1) Asignación de Sistemas de Referencia
• 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
• 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
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
q3
z0 q2
q1 y0
origen
arbitrario
x0
arbitrario
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
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
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
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
• 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
articulación articulación
qi-1 articulación
qi qi+1
eslabón i-1
eslabón i
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°
1. Convención de Denavit-Hartenberg
20
Convención de Denavit-Hartenberg
(3) Transformación Homogénea
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
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
0 sin i cos i di
0 0 0 1
• 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 n2
Tn 1 n 1Tn
• 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
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
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
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
27
Convención de Denavit-Hartenberg
Ilustración
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
• 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
• 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.
• 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
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:
• 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
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
38
Ejemplo 1: DH de un Robot SCARA
1. Sistemas de referencia
q3
q2
q1 q4
l2 l3
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
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°
43
Ejemplo 1: DH de un Robot SCARA
0
T4 0 T1 1T2 2 T3 3 T4 l2 l3
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°
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)
46
Ejemplo 1: DH de un Robot SCARA
# Longitudes iniciales
l1=1; l2=1; l3=1; l4=0.5;
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
49
Ejemplo 1: DH de un Robot SCARA
% 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
http://petercorke.com/wordpress/toolboxes/robotics-toolbox 50
Ejemplo 1: DH de un Robot SCARA
l2 l3
l4
l1
z0
y0 x4
x0
y4
z4
51
Temas
1. Convención de Denavit-Hartenberg
52
Ejemplo 2: DH del Robot Fanuc M-10iA
53
Ejemplo 2: DH del Robot Fanuc M-10iA
640
200
600
150
z0 z0 450
y0 x0
x0
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
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°
0 1 0 450 0 1 0 640
0 0 0 1 0 0 0 1
0 0 1 0 0 1 0 0
0 0 0 1 0 0 0 1
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
61
Ejemplo 2: DH del Robot Fanuc M-10iA
# 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);
62
Ejemplo 2: DH del Robot Fanuc M-10iA
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
65
Ejemplo 2: DH del Robot Fanuc M-10iA
% 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
z6 y6
x6
z0
x0 y0
67
Temas
1. Convención de Denavit-Hartenberg
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
0
𝐴6 = 0𝐴3 . 3𝐴6
72
Denavit-Hartenberg Modificado
ci si 0 ai 1
i 1 c s ci1 ci si1 d i si1
Modificado: Ti i1 i
s s si1 ci ci1 d i ci1
i1 i
0 0 0 1
74