Está en la página 1de 14

1

Benemérita Universidad
Autónoma de Puebla
Ingeniería Mecatrónica
Facultad de Ingeniería de Ciencias de la Electrónica

Robótica II.
TAREA 1: APLICAR EL MÉTODO
DENAVIT-HARTENBERG A UN
ROBOT KUKA VKR 125
Docente: MC. Oscar Antonio Morales Pizarro.
NRC: 44106
Periodo Verano 2023

EQUIPO
Aca España Sebastián 201858143
González Galindo Omar Yamil 201840559
Hernández Vázquez José Ricardo 201847605
Rodríguez Campos Karla 201875585
Soria Gracia Eduardo 201866750
Zurita Águila Andrea Cecilia 201868087
2

1. Tabla de contenido
2. Introducción .................................................................................................................... 3
3. Planteamiento del problema. ........................................................................................... 4
4. Solución del problema..................................................................................................... 4
5. Conclusiones ................................................................................................................. 12
6. Bibliografía.................................................................................................................... 12
7. Anexo ............................................................................................................................ 12
3

2. Introducción
El método de Denavit-Hartenberg (DH) es una técnica ampliamente utilizada en la
cinemática de robots para describir la geometría y el movimiento de sistemas mecánicos
articulados (Reyes,2023). Este método proporciona una forma sistemática de describir y
analizar la cinemática de un robot manipulador, como el robot KUKA VKR125/1.
El robot KUKA VKR125/1 es un robot industrial con múltiples articulaciones que le permiten
moverse en diferentes direcciones y realizar tareas específicas. Aplicar el método DH a este
robot implica seguir una serie de pasos para describir su geometría y calcular su cinemática
directa.
La cinemática directa determina cual es la posición y orientación del extremo final de un
robot con respecto a un sistema de coordenadas de referencia, conociendo los valores de las
articulaciones y los parámetros del robot, es una herramienta importante en el diseño y
programación de robots manipuladores (Reyes, 2023).
En este documento se realizará la ejecución de la metodología DH al robot KUKA
VKR125/1, inicialmente se realizará la asignación de sistemas de referencia en donde asigna
un sistema de referencia local a cada una de las articulaciones del robot KUKA VKR125/1.
Estos sistemas de referencia se utilizan para describir la posición y orientación relativa de
cada eslabón con respecto al siguiente. Después se colocarán los ángulos de rotación que
tiene el robot para así transportar los ejes coordenados a cada sistema de referencia. Como
siguiente paso se realizará una tabla con los datos de forma general, es decir colocando los
valores como parámetros. Finalmente se realizará un programa en Matlab para poder obtener
la cinemática directa del robot KUKA VKR125/1.
4

3. Planteamiento del problema.


Se deberá aplicar el método Denavit-Hartenberg a un robot KUKA VKR 125/1,
posteriormente se deberá realizar un programa que solicite los datos del robot para poder
obtener la cinemática directa.

Figura 1. Robot KUKA VKR125/1

4. Solución del problema


El método Denavit-Hartenberg es una metodología para describir la geometría y el
movimiento de los sistemas mecánicos articulados. Para llevar a cabo la metodología DH se
deben seguir una serie de pasos:

1. Asignación de los sistemas de referencia para cada eslabón.


En la Figura 2 se observa el robot KUKA VKR125 con los sistemas de referencia en cada
uno de sus eslabones, específicamente al comienzo de cada eslabón, en donde se ubican los
servomotores.

2. Asignación de los ángulos de rotación.


En la misma Figura 2 se observan los ángulos de rotación que tiene el robot para poder
orientar cada sistema de referencia. Los ángulos de rotación se representan con un color
5

amarillo. Además, los ejes “Z” se representan en color azul, los ejes “X” en color rojo y los
ejes “Y” en color verde.

Figura 2. Asignación de sistemas de referencia para cada eslabón y ángulos de rotación.

3. Llenado de tabla.

Eslabón 𝑞𝑖 𝑑𝑖 ⨂ 𝛽𝑖 𝑙𝑖 𝛼𝑖
1 𝑞1 𝐵1 𝑙1 − 𝜋
2
2 𝜋 0 𝑙2 0
𝑞2 −
2
3 𝑞3 0 𝑙3 − 𝜋
2
4 𝑞4 𝛽4 0 𝜋
2
5 𝑞5 0 0 −𝜋
2
6 𝑞6 𝛽5 0 0
Tabla 1. Tabla DH con parámetros.
6

Eslabón 𝑞𝑖 𝑑𝑖 ⨂ 𝛽𝑖 𝑙𝑖 𝛼𝑖
1 𝑞1 865 410 𝜋

2
2 𝜋 0 1000 0
𝑞2 −
2
3 𝑞3 0 1005 − 𝜋
2
4 𝑞4 1000 0 𝜋
2
5 𝑞5 0 0 𝜋

2
6 𝑞6 1210 0 0
Tabla 2. Tabla DH con medidas del robot VKR125.

4. Obtención de la cinemática directa usando Matlab


La cinemática directa se obtiene a partir de las matrices de transformación homogénea, estas
matrices se construyen usando las matrices de rotación y matrices de traslación para cada uno
de pares de eslabones.
Al ejecutar el código del anexo A se obtiene la cinemática directa del robot la cual da como
resultado lo siguiente:

𝑥 = 𝑙1 𝑐𝑜𝑠(𝑞1 ) + 𝛽4 𝑐𝑜𝑠(𝑞2 + 𝑞3 )𝑐𝑜𝑠(𝑞1 ) + 𝑙2 𝑐𝑜𝑠(𝑞1 )𝑠𝑖𝑛(𝑞2 ) + 𝛽5 𝑐𝑜𝑠(𝑞2


+ 𝑞3 )𝑐𝑜𝑠(𝑞1 )𝑐𝑜𝑠(𝑞5 ) + 𝑙3 𝑐𝑜𝑠(𝑞1 )𝑐𝑜𝑠(𝑞2 )𝑠𝑖𝑛(𝑞3 )
+ 𝑙3 𝑐𝑜𝑠(𝑞1 )𝑐𝑜𝑠(𝑞3 )𝑠𝑖𝑛(𝑞2 ) − 𝛽5 𝑠𝑖𝑛(𝑞1 )𝑠𝑖𝑛(𝑞4 )𝑠𝑖𝑛(𝑞5 )
− 𝛽5 𝑐𝑜𝑠(𝑞1 )𝑐𝑜𝑠(𝑞2 )𝑐𝑜𝑠(𝑞4 )𝑠𝑖𝑛(𝑞3 )𝑠𝑖𝑛(𝑞5 )
− 𝛽5 𝑐𝑜𝑠(𝑞1 )𝑐𝑜𝑠(𝑞3 )𝑐𝑜𝑠(𝑞4 )𝑠𝑖𝑛(𝑞2 )𝑠𝑖𝑛(𝑞5 )

𝑦 = 𝑙1 𝑠𝑖𝑛(𝑞1 ) + 𝛽4 𝑐𝑜𝑠(𝑞2 + 𝑞3 )𝑠𝑖𝑛(𝑞1 ) + 𝑙2 𝑠𝑖𝑛(𝑞1 )𝑠𝑖𝑛(𝑞2 )


+ 𝛽5 𝑐𝑜𝑠(𝑞2 + 𝑞3 )𝑐𝑜𝑠(𝑞5 )𝑠𝑖𝑛(𝑞1 ) + 𝛽5 𝑐𝑜𝑠(𝑞1 )𝑠𝑖𝑛(𝑞4 )𝑠𝑖𝑛(𝑞5 )
+ 𝑙3 𝑐𝑜𝑠(𝑞2 )𝑠𝑖𝑛(𝑞1 )𝑠𝑖𝑛(𝑞3 ) + 𝑙3 𝑐𝑜𝑠(𝑞3 )𝑠𝑖𝑛(𝑞1 )𝑠𝑖𝑛(𝑞2 )
− 𝛽5 𝑐𝑜𝑠(𝑞2 )𝑐𝑜𝑠(𝑞4 )𝑠𝑖𝑛(𝑞1 )𝑠𝑖𝑛(𝑞3 )𝑠𝑖𝑛(𝑞5 )
− 𝛽5 𝑐𝑜𝑠(𝑞3 )𝑐𝑜𝑠(𝑞4 )𝑠𝑖𝑛(𝑞1 )𝑠𝑖𝑛(𝑞2 )𝑠𝑖𝑛(𝑞5 )

𝑧 = 𝛽1 + 𝑙3 𝑐𝑜𝑠(𝑞2 + 𝑞3 ) − 𝛽4 𝑠𝑖𝑛(𝑞2 + 𝑞3 ) + 𝑙2 𝑐𝑜𝑠(𝑞2 )


𝛽5 𝑐𝑜𝑠(𝑞2 + 𝑞3 )𝑠𝑖𝑛(𝑞4 + 𝑞5 )
− − 𝛽5 𝑠𝑖𝑛(𝑞2 + 𝑞3 )𝑐𝑜𝑠(𝑞5 )
2
(𝛽5 𝑠𝑖𝑛(𝑞4 − 𝑞5 )𝑐𝑜𝑠(𝑞2 + 𝑞3 ))
+
2
7

𝑥
𝐶𝑖𝑛𝑒𝑚𝑎𝑡𝑖𝑐𝑎 𝑑𝑖𝑟𝑒𝑐𝑡𝑎 = [𝑦]
𝑧

5. Obtener la cinemática directa usando los valores de construcción del robot KUKA
VKR125/1.
Para poder obtener la cinemática directa del robot se utilizó el programa del Anexo B en el
cual se solicitan los datos del robot como las betas, longitudes de eslabones y ángulos de
rotación para el eje z y eje x.
Al ejecutar el código del anexo B se obtiene la cinemática directa del robot la cual da como
resultado lo siguiente:

Parámetros Euler-Denavit-Hartenberg del robot KUKA VKR125


Eslabón 𝑞𝑖 𝑑𝑖 ⨂ 𝛽𝑖 𝑙𝑖 𝛼𝑖
1 𝑞1 865 410 𝜋

2
2 𝜋 0 1000 0
𝑞2 −
2
3 𝑞3 0 1005 𝜋

2
4 𝑞4 1000 0 𝜋
2
5 𝑞5 0 0 𝜋

2
6 𝑞6 1210 0 0

H10 =

[cos(q1), 0, -sin(q1), 410*cos(q1)]


[sin(q1), 0, cos(q1), 410*sin(q1)]
[ 0, -1, 0, 865]
[ 0, 0, 0, 1]

H21 =

[ sin(q2), cos(q2), 0, 1000*sin(q2)]


[-cos(q2), sin(q2), 0, -1000*cos(q2)]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
8

H32 =

[cos(q3), 0, -sin(q3), 1005*cos(q3)]


[sin(q3), 0, cos(q3), 1005*sin(q3)]
[ 0, -1, 0, 0]
[ 0, 0, 0, 1]

H43 =

[cos(q4), 0, sin(q4), 0]
[sin(q4), 0, -cos(q4), 0]
[ 0, 1, 0, 1000]
[ 0, 0, 0, 1]

H54=
[cos(q5), 0, -sin(q5), 0]
[sin(q5), 0, cos(q5), 0]
[ 0, -1, 0, 0]
[ 0, 0, 0, 1]

H65 =

[cos(q6), -sin(q6), 0, 0]
[sin(q6), cos(q6), 0, 0]
[ 0, 0, 1, 1210]
[ 0, 0, 0, 1]

Cinemática directa:

𝑥 = 410 ∗ 𝑐𝑜𝑠(𝑞1) + 1000 ∗ 𝑐𝑜𝑠(𝑞1) ∗ 𝑠𝑖𝑛(𝑞2) − 1210 ∗ 𝑠𝑖𝑛(𝑞1) ∗ 𝑠𝑖𝑛(𝑞4)


∗ 𝑠𝑖𝑛(𝑞5) + 1210 ∗ 𝑐𝑜𝑠(𝑞2 + 𝑞3) ∗ 𝑐𝑜𝑠(𝑞1) ∗ 𝑐𝑜𝑠(𝑞5) + 1000
∗ 𝑐𝑜𝑠(𝑞1) ∗ 𝑐𝑜𝑠(𝑞2) ∗ 𝑐𝑜𝑠(𝑞3) + 1005 ∗ 𝑐𝑜𝑠(𝑞1) ∗ 𝑐𝑜𝑠(𝑞2) ∗ 𝑠𝑖𝑛(𝑞3)
+ 1005 ∗ 𝑐𝑜𝑠(𝑞1) ∗ 𝑐𝑜𝑠(𝑞3) ∗ 𝑠𝑖𝑛(𝑞2) − 1000 ∗ 𝑐𝑜𝑠(𝑞1) ∗ 𝑠𝑖𝑛(𝑞2)
∗ 𝑠𝑖𝑛(𝑞3) − 1210 ∗ 𝑐𝑜𝑠(𝑞1) ∗ 𝑐𝑜𝑠(𝑞2) ∗ 𝑐𝑜𝑠(𝑞4) ∗ 𝑠𝑖𝑛(𝑞3) ∗ 𝑠𝑖𝑛(𝑞5)
− 1210 ∗ 𝑐𝑜𝑠(𝑞1) ∗ 𝑐𝑜𝑠(𝑞3) ∗ 𝑐𝑜𝑠(𝑞4) ∗ 𝑠𝑖𝑛(𝑞2) ∗ 𝑠𝑖𝑛(𝑞5)
9

𝑦 = 410 ∗ 𝑠𝑖𝑛(𝑞1) + 1000 ∗ 𝑠𝑖𝑛(𝑞1) ∗ 𝑠𝑖𝑛(𝑞2) − 1000 ∗ 𝑠𝑖𝑛(𝑞1) ∗ 𝑠𝑖𝑛(𝑞2)


∗ 𝑠𝑖𝑛(𝑞3) + 1210 ∗ 𝑐𝑜𝑠(𝑞2 + 𝑞3) ∗ 𝑐𝑜𝑠(𝑞5) ∗ 𝑠𝑖𝑛(𝑞1) + 1000
∗ 𝑐𝑜𝑠(𝑞2) ∗ 𝑐𝑜𝑠(𝑞3) ∗ 𝑠𝑖𝑛(𝑞1) + 1005 ∗ 𝑐𝑜𝑠(𝑞2) ∗ 𝑠𝑖𝑛(𝑞1) ∗ 𝑠𝑖𝑛(𝑞3)
+ 1005 ∗ 𝑐𝑜𝑠(𝑞3) ∗ 𝑠𝑖𝑛(𝑞1) ∗ 𝑠𝑖𝑛(𝑞2) + 1210 ∗ 𝑐𝑜𝑠(𝑞1) ∗ 𝑠𝑖𝑛(𝑞4)
∗ 𝑠𝑖𝑛(𝑞5) − 1210 ∗ 𝑐𝑜𝑠(𝑞2) ∗ 𝑐𝑜𝑠(𝑞4) ∗ 𝑠𝑖𝑛(𝑞1) ∗ 𝑠𝑖𝑛(𝑞3) ∗ 𝑠𝑖𝑛(𝑞5)
− 1210 ∗ 𝑐𝑜𝑠(𝑞3) ∗ 𝑐𝑜𝑠(𝑞4) ∗ 𝑠𝑖𝑛(𝑞1) ∗ 𝑠𝑖𝑛(𝑞2) ∗ 𝑠𝑖𝑛(𝑞5)

𝑧 = 1005 ∗ 𝑐𝑜𝑠(𝑞2 + 𝑞3) − 1000 ∗ 𝑠𝑖𝑛(𝑞2 + 𝑞3) + 1000 ∗ 𝑐𝑜𝑠(𝑞2) + 605 ∗


𝑠𝑖𝑛(𝑞4 − 𝑞5) ∗ 𝑐𝑜𝑠(𝑞2 + 𝑞3) − 605 ∗ 𝑐𝑜𝑠(𝑞2 + 𝑞3) ∗ 𝑠𝑖𝑛(𝑞4 + 𝑞5) − 1210 ∗
𝑠𝑖𝑛(𝑞2 + 𝑞3) ∗ 𝑐𝑜𝑠(𝑞5) + 865

𝜙 = [ 𝑠𝑖𝑛(𝑞6) ∗ (𝑐𝑜𝑠(𝑞4) ∗ 𝑠𝑖𝑛(𝑞1) − 𝑠𝑖𝑛(𝑞4) ∗ (𝑐𝑜𝑠(𝑞1) ∗ 𝑐𝑜𝑠(𝑞2) ∗ 𝑠𝑖𝑛(𝑞3)


+ 𝑐𝑜𝑠(𝑞1) ∗ 𝑐𝑜𝑠(𝑞3) ∗ 𝑠𝑖𝑛(𝑞2))) + 𝑐𝑜𝑠(𝑞6) ∗ (𝑐𝑜𝑠(𝑞5) ∗ (𝑠𝑖𝑛(𝑞1)
∗ 𝑠𝑖𝑛(𝑞4) + 𝑐𝑜𝑠(𝑞4) ∗ (𝑐𝑜𝑠(𝑞1) ∗ 𝑐𝑜𝑠(𝑞2) ∗ 𝑠𝑖𝑛(𝑞3) + 𝑐𝑜𝑠(𝑞1)
∗ 𝑐𝑜𝑠(𝑞3) ∗ 𝑠𝑖𝑛(𝑞2))) + 𝑠𝑖𝑛(𝑞5) ∗ (𝑐𝑜𝑠(𝑞1) ∗ 𝑐𝑜𝑠(𝑞2) ∗ 𝑐𝑜𝑠(𝑞3)
− 𝑐𝑜𝑠(𝑞1) ∗ 𝑠𝑖𝑛(𝑞2) ∗ 𝑠𝑖𝑛(𝑞3))), 𝑐𝑜𝑠(𝑞6) ∗ (𝑐𝑜𝑠(𝑞4) ∗ 𝑠𝑖𝑛(𝑞1)
− 𝑠𝑖𝑛(𝑞4) ∗ (𝑐𝑜𝑠(𝑞1) ∗ 𝑐𝑜𝑠(𝑞2) ∗ 𝑠𝑖𝑛(𝑞3) + 𝑐𝑜𝑠(𝑞1) ∗ 𝑐𝑜𝑠(𝑞3)
∗ 𝑠𝑖𝑛(𝑞2))) − 𝑠𝑖𝑛(𝑞6) ∗ (𝑐𝑜𝑠(𝑞5) ∗ (𝑠𝑖𝑛(𝑞1) ∗ 𝑠𝑖𝑛(𝑞4) + 𝑐𝑜𝑠(𝑞4)
∗ (𝑐𝑜𝑠(𝑞1) ∗ 𝑐𝑜𝑠(𝑞2) ∗ 𝑠𝑖𝑛(𝑞3) + 𝑐𝑜𝑠(𝑞1) ∗ 𝑐𝑜𝑠(𝑞3) ∗ 𝑠𝑖𝑛(𝑞2)))
+ 𝑠𝑖𝑛(𝑞5) ∗ (𝑐𝑜𝑠(𝑞1) ∗ 𝑐𝑜𝑠(𝑞2) ∗ 𝑐𝑜𝑠(𝑞3) − 𝑐𝑜𝑠(𝑞1) ∗ 𝑠𝑖𝑛(𝑞2)
∗ 𝑠𝑖𝑛(𝑞3))), 𝑐𝑜𝑠(𝑞5) ∗ (𝑐𝑜𝑠(𝑞1) ∗ 𝑐𝑜𝑠(𝑞2) ∗ 𝑐𝑜𝑠(𝑞3) − 𝑐𝑜𝑠(𝑞1)
∗ 𝑠𝑖𝑛(𝑞2) ∗ 𝑠𝑖𝑛(𝑞3)) − 𝑠𝑖𝑛(𝑞5) ∗ (𝑠𝑖𝑛(𝑞1) ∗ 𝑠𝑖𝑛(𝑞4) + 𝑐𝑜𝑠(𝑞4)
∗ (𝑐𝑜𝑠(𝑞1) ∗ 𝑐𝑜𝑠(𝑞2) ∗ 𝑠𝑖𝑛(𝑞3) + 𝑐𝑜𝑠(𝑞1) ∗ 𝑐𝑜𝑠(𝑞3) ∗ 𝑠𝑖𝑛(𝑞2)))]
θ = [− 𝑠𝑖𝑛(𝑞6) ∗ (𝑐𝑜𝑠(𝑞1) ∗ 𝑐𝑜𝑠(𝑞4) + 𝑠𝑖𝑛(𝑞4) ∗ (𝑐𝑜𝑠(𝑞2) ∗ 𝑠𝑖𝑛(𝑞1) ∗ 𝑠𝑖𝑛(𝑞3)
+ 𝑐𝑜𝑠(𝑞3) ∗ 𝑠𝑖𝑛(𝑞1) ∗ 𝑠𝑖𝑛(𝑞2))) − 𝑐𝑜𝑠(𝑞6) ∗ (𝑐𝑜𝑠(𝑞5) ∗ (𝑐𝑜𝑠(𝑞1)
∗ 𝑠𝑖𝑛(𝑞4) − 𝑐𝑜𝑠(𝑞4) ∗ (𝑐𝑜𝑠(𝑞2) ∗ 𝑠𝑖𝑛(𝑞1) ∗ 𝑠𝑖𝑛(𝑞3) + 𝑐𝑜𝑠(𝑞3)
∗ 𝑠𝑖𝑛(𝑞1) ∗ 𝑠𝑖𝑛(𝑞2))) + 𝑠𝑖𝑛(𝑞5) ∗ (𝑠𝑖𝑛(𝑞1) ∗ 𝑠𝑖𝑛(𝑞2) ∗ 𝑠𝑖𝑛(𝑞3)
− 𝑐𝑜𝑠(𝑞2) ∗ 𝑐𝑜𝑠(𝑞3) ∗ 𝑠𝑖𝑛(𝑞1))), 𝑠𝑖𝑛(𝑞6) ∗ (𝑐𝑜𝑠(𝑞5) ∗ (𝑐𝑜𝑠(𝑞1)
∗ 𝑠𝑖𝑛(𝑞4) − 𝑐𝑜𝑠(𝑞4) ∗ (𝑐𝑜𝑠(𝑞2) ∗ 𝑠𝑖𝑛(𝑞1) ∗ 𝑠𝑖𝑛(𝑞3) + 𝑐𝑜𝑠(𝑞3)
∗ 𝑠𝑖𝑛(𝑞1) ∗ 𝑠𝑖𝑛(𝑞2))) + 𝑠𝑖𝑛(𝑞5) ∗ (𝑠𝑖𝑛(𝑞1) ∗ 𝑠𝑖𝑛(𝑞2) ∗ 𝑠𝑖𝑛(𝑞3)
− 𝑐𝑜𝑠(𝑞2) ∗ 𝑐𝑜𝑠(𝑞3) ∗ 𝑠𝑖𝑛(𝑞1))) − 𝑐𝑜𝑠(𝑞6) ∗ (𝑐𝑜𝑠(𝑞1) ∗ 𝑐𝑜𝑠(𝑞4)
+ 𝑠𝑖𝑛(𝑞4) ∗ (𝑐𝑜𝑠(𝑞2) ∗ 𝑠𝑖𝑛(𝑞1) ∗ 𝑠𝑖𝑛(𝑞3) + 𝑐𝑜𝑠(𝑞3) ∗ 𝑠𝑖𝑛(𝑞1)
∗ 𝑠𝑖𝑛(𝑞2))), 𝑠𝑖𝑛(𝑞5) ∗ (𝑐𝑜𝑠(𝑞1) ∗ 𝑠𝑖𝑛(𝑞4) − 𝑐𝑜𝑠(𝑞4) ∗ (𝑐𝑜𝑠(𝑞2)
∗ 𝑠𝑖𝑛(𝑞1) ∗ 𝑠𝑖𝑛(𝑞3) + 𝑐𝑜𝑠(𝑞3) ∗ 𝑠𝑖𝑛(𝑞1) ∗ 𝑠𝑖𝑛(𝑞2))) − 𝑐𝑜𝑠(𝑞5)
∗ (𝑠𝑖𝑛(𝑞1) ∗ 𝑠𝑖𝑛(𝑞2) ∗ 𝑠𝑖𝑛(𝑞3) − 𝑐𝑜𝑠(𝑞2) ∗ 𝑐𝑜𝑠(𝑞3) ∗ 𝑠𝑖𝑛(𝑞1))]
𝜓 = [−𝑐𝑜𝑠(𝑞6) ∗ (𝑠𝑖𝑛(𝑞2 + 𝑞3) ∗ 𝑠𝑖𝑛(𝑞5) − 𝑐𝑜𝑠(𝑞2 + 𝑞3) ∗ 𝑐𝑜𝑠(𝑞4) ∗ 𝑐𝑜𝑠(𝑞5))
− 𝑐𝑜𝑠(𝑞2 + 𝑞3) ∗ 𝑠𝑖𝑛(𝑞4) ∗ 𝑠𝑖𝑛(𝑞6), 𝑠𝑖𝑛(𝑞6) ∗ (𝑠𝑖𝑛(𝑞2 + 𝑞3)
∗ 𝑠𝑖𝑛(𝑞5) − 𝑐𝑜𝑠(𝑞2 + 𝑞3) ∗ 𝑐𝑜𝑠(𝑞4) ∗ 𝑐𝑜𝑠(𝑞5)) − 𝑐𝑜𝑠(𝑞2 + 𝑞3)
∗ 𝑐𝑜𝑠(𝑞6) ∗ 𝑠𝑖𝑛(𝑞4), − 𝑠𝑖𝑛(𝑞2 + 𝑞3) ∗ 𝑐𝑜𝑠(𝑞5) − 𝑐𝑜𝑠(𝑞2 + 𝑞3)
∗ 𝑐𝑜𝑠(𝑞4) ∗ 𝑠𝑖𝑛(𝑞5)]
10

Considerando la posición de casa del robot, es decir cuando los valores de 𝑞𝑖 tienen un valor
de cero se genera la siguiente tabla:
Parámetros Euler-Denavit-Hartenberg del robot KUKA VKR125
Eslabón 𝑞𝑖 𝑑𝑖 ⨂ 𝛽𝑖 𝑙𝑖 𝛼𝑖
1 0 865 410 𝜋

2
2 𝜋 0 1000 0

2
3 0 0 1005 𝜋

2
4 0 1000 0 𝜋
2
5 0 0 0 𝜋

2
6 0 1210 0 0

Y al ejecutar el programa se obtiene el punto especifico del robot en su posición de casa, por
lo que se obtiene al final un vector columna con los valores para x, y, z, además de R60 que
hace referencia a la rotación que tuvo el robot en pitch, yao y roll.

H10 =
[1, 0, 0, 410]
[0, 0, 1, 0]
[0, -1, 0, 850]
[0, 0, 0, 1]

H21 =
[ 0, 1, 0, 0]
[-1, 0, 0, -1000]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]

H32 =
[1, 0, 0, 1005]
[0, 0, 1, 0]
[0, -1, 0, 0]
11

[0, 0, 0, 1]

H43 =
[1, 0, 0, 0]
[0, 0, -1, 0]
[0, 1, 0, 1000]
[0, 0, 0, 1]

H54 =
[1, 0, 0, 0]
[0, 0, 1, 0]
[0, -1, 0, 0]
[0, 0, 0, 1]

H65 =
[1, 0, 0, 0]
[0, 1, 0, 0]
[0, 0, 1, 1210]
[0, 0, 0, 1]

H60 =
[0, 0, 1, 2620]
[0, -1, 0, 0]
[1, 0, 0, 2855]
[0, 0, 0, 1]

R60 =
[0, 0, 1]
[0, -1, 0]
[1, 0, 0]

cinematica =
2620
0
2855
12

5. Conclusiones
En este reporte se realizó el análisis cinemático del robot KUKA-VKR125/1, se hizo uso de
la tabla de Denavit-Hartenberg para obtener la cinemática directa. Se observó que al ser un
robot de 6 grados de libertad se obtuvieron 6 matrices de transformación homogénea. Al
remplazar los valores en la tabla DH y al colocar los valores de 𝑞𝑖 = 0 se obtiene un punto
específico, siendo el de la “posición de casa”, así mismo colocando los valores 𝑞𝑖 se obtiene
la cinemática directa para cada tiempo 𝑡.

6. Bibliografía
[1] Reyes, F. (2023). Robótica I, cinemática de robot esférico. [Archivo PDF].
[2] Reyes, F. (2023). Robótica I, cinemática directa. [Archivo PDF].

7. Anexo
Anexo A: Código principal para la obtención de la cinemática directa.
clc; clearvars; close all; format short

syms q1 q2 q3 q4 q5 q6
syms beta1 beta2 beta3 beta4 beta5 beta6 l1a l1 l2 l3 l4 l5 l6 alpha1 alpha2
alpha3 alpha4 alpha5 alpha6 real

disp('Parámetros Euler-Denavit-Hartenberg del robot KUKA VKR125')


disp('[ q_i (beta_i XOR d_i) l_i alpha_i]')

dh=[q1, beta1, l1, -pi/2;


q2-pi/2, 0,l2, 0;
q3, 0,l3, -pi/2;
q4, beta4, 0, pi/2 ;
q5, 0, 0, -pi/2 ;
q6, beta5, 0, 0 ];

disp(dh)

H10=simplify(HRz(dh(1,1))*HTz(dh(1,2))*HTx(dh(1,3))*HRx(dh(1,4)))
H21=simplify(HRz(dh(2,1))*HTz(dh(2,2))*HTx(dh(2,3))*HRx(dh(2,4)))
H32=simplify(HRz(dh(3,1))*HTz(dh(3,2))*HTx(dh(3,3))*HRx(dh(3,4)))
H43=simplify(HRz(dh(4,1))*HTz(dh(4,2))*HTx(dh(4,3))*HRx(dh(4,4)))
H54=simplify(HRz(dh(5,1))*HTz(dh(5,2))*HTx(dh(5,3))*HRx(dh(5,4)))
H65=simplify(HRz(dh(6,1))*HTz(dh(6,2))*HTx(dh(6,3))*HRx(dh(6,4)))

H60=simplify(H10*H21*H32*H43*H54*H65)
13

[R60, cinematica,cero, c]=H_DH(H60)


Cinemática

Anexo B: Cinemática directa numérico


clc; clearvars; close all; format short
syms q1 q2 q3 q4 q5 q6

fila1=[0,0,0,0];
fila2=[0,0,0,0];
fila3=[0,0,0,0];
fila4=[0,0,0,0];
fila5=[0,0,0,0];
fila6=[0,0,0,0];
disp("Los datos se deben ingresar en forma de vector [qi,0,0,0]")
fila1= input ('Ingresa los datos de la primera fila: ');
fila2= input ('Ingresa los datos de la segunda fila: ');
fila3= input ('Ingresa los datos de la tercera fila: ');
fila4= input ('Ingresa los datos de la cuarta fila: ');
fila5= input ('Ingresa los datos de la quinta fila: ');
fila6= input ('Ingresa los datos de la sexta fila: ');

disp('Parámetros Euler-Denavit-Hartenberg del robot KUKA VKR125')


disp('[ q_i (beta_i XOR d_i) l_i alpha_i]')

dh=[fila1;
fila2;
fila3;
fila4;
fila5;
fila6];

disp(dh)

H10=simplify(HRz(dh(1,1))*HTz(dh(1,2))*HTx(dh(1,3))*HRx(dh(1,4)))
H21=simplify(HRz(dh(2,1))*HTz(dh(2,2))*HTx(dh(2,3))*HRx(dh(2,4)))
H32=simplify(HRz(dh(3,1))*HTz(dh(3,2))*HTx(dh(3,3))*HRx(dh(3,4)))
H43=simplify(HRz(dh(4,1))*HTz(dh(4,2))*HTx(dh(4,3))*HRx(dh(4,4)))
H54=simplify(HRz(dh(5,1))*HTz(dh(5,2))*HTx(dh(5,3))*HRx(dh(5,4)))
H65=simplify(HRz(dh(6,1))*HTz(dh(6,2))*HTx(dh(6,3))*HRx(dh(6,4)))

H60=simplify(H10*H21*H32*H43*H54*H65)

[R60, cinematica,cero, c]=H_DH(H60)


14

cinematica
ANEXO C: Diagramas del robot

Figura 3. Dimensiones del robot

Figura 4. Ejes de rotación y direcciones de rotación

También podría gustarte