Está en la página 1de 13

Universidad Nacional

Autónoma de México
Escuela Nacional de Estudios Superiores
Unidad Juriquilla

Licenciatura en Ingeniería en Energías Renovables

Desarrollo del Algoritmo


Denavit-Hartenberg

Álgebra Lineal

Docente: Jesús Alejandro Franco Piña


Alumnos: Kandy Guadalupe Flores Solís
Fausto Camargo Semadeni

3 de junio de 2022
ÍNDICE

Introducción…………………………………………………………1

Presentación del mecanismo………………………………………...1

Algoritmo Denavit-Hartenberg……………………………………..5

Desarrollo del programa……………………………………………11

Conclusión………………………………………………………….11

Referencias…………………………………………………………11
Introducción.

Los brazos robóticos han resultado en uno de los avances tecnológicos más significativos en la
actualidad, debido a que la similitud con una de las partes humanas más importantes y útiles para la
realización de diversas actividades, junto con las mejoras adquiridas mediante investigaciones en
diversos campos de estudio que mejoraron algunas de las capacidades de esta máquina como el
manejo de elementos con distintas formas y pesos, el traslado de los mismos a diferentes distancias,
entre otros; resultan en una herramienta eficaz, útil y con la competencia de optimizar muchos
procesos, generando así la necesidad de un mayor acercamiento a este tipo de tecnologías por parte
de los estudiantes, para el mejoramiento de las competencias adquiridas en el transcurso de sus
estudios, incentivar la innovación de las ya existentes y lograr desarrollar nuevas invenciones en este
campo.

El presente trabajo busca analizar la cinemática de un robot utilizando el algoritmo de Denavit-


Hartenberg. En este trabajo nos enfocamos en analizar las posiciones de los elementos del brazo
enfocándose directamente en dos situaciones en especial las cuales son; cinemática directa y
cinemática inversa. La cinemática directa consiste en determinar cuál es la posición y orientación del
extremo final del robot, con respecto a un sistema de coordenadas que se toma como referencia,
conocidos los valores de las articulaciones y los parámetros geométricos de los elementos del robot;
y por otro lado, la cinemática inversa resuelve la configuración que debe adoptar el robot para una
posición y orientación del extremo conocidas.

Presentación del Mecanismo.

Trabajaremos con un brazo robótico cartesiano, que posee movimientos lineales, los cuales
corresponden a los ejes cartesianos 𝑋, 𝑌, 𝑍. Nuestro mecanismo está basado en las dimensiones de un
robot industrial KUKA IRK 500 (Tabla 1).

Tabla 1. Dimensiones del mecanismo basadas en KUKA IRK 500.

Eslabón Longitud (mm)

Eslabón 1 795

Eslabón 2 1300

Eslabón 3 350

Eslabón 4 1525

Eslabón 5 315

Eslabón 6 290

1
Mecanismo en diferentes posiciones.

2
3
Debido a la forma irregular de nuestro mecanismo, se ha decidido hacer algunos arreglos para poder
desarrollar sin impedimentos el método de Denavit-Hartenberg. (Figura 1)

*El ancho del mecanismo (E3) se anula.

*Se suman los eslabones 1 y 2 formando una sola pieza que ahora se conoce como 𝐿1 que es un eje
rotativo.

*Se suman los eslabones 4 y 5 formando una sola pieza que ahora se conoce como 𝐿2.

*El eslabón 6 se convierte en 𝐿3.

Figura 2. Mecanismo después de las modificaciones.

Ahora con este nuevo mecanismo ya podemos designar los grados de libertad para cada eslabón
(Tabla 2).

4
Tabla 2. Grados de libertad de cada eslabón.

Eslabones Grados de Libertad

L1 𝜃1 = 360° , 𝜃3∗ = −165° − 165°

L2 𝜃2 = −54° − 10° , 𝜃3∗ = −165° − 165°

L3 𝜃4 = 360°

*𝜃3 se ubica entre L1 y L2

Algoritmo Denavit-Hartenberg.

Jaques Denavit y Richard Hartenberg propusieron un procedimiento para hallar una representación
de la orientación y traslación de robots, el cual consiste en establecer una tabla de parámetros en
relación con los eslabones del brazo robótico. A continuación, se definirán estos parámetros (Figura
2):

· 𝜽𝒊: Es el desplazamiento rotacional de 𝑥𝑖 − 1 a 𝑥𝑖 medido alrededor del eje 𝑧𝑖 − 1.El signo positivo
de 𝜃𝑖 es el sentido contrario a las manecillas del reloj.

· 𝒅𝒊: Es la distancia a lo largo del eje 𝑧𝑖 − 1 desde el origen del sistema de coordenadas i − 1-ésimo
hasta la intersección del eje 𝑧𝑖 − 1 con el eje 𝑥𝑖. Se trata de un parámetro variable en articulaciones
prismáticas.

· 𝒂𝒊: Es la distancia a lo largo del eje 𝑥𝑖 que va desde la intersección del eje 𝑧𝑖 − 1 con el eje 25 𝑥𝑖
hasta el origen del sistema i-ésimo, en el caso de articulaciones giratorias. En el caso de articulaciones
prismáticas, se calcula como la distancia más corta entre los ejes 𝑧𝑖 − 1 y 𝑧𝑖.

· 𝜶𝒊: Es el ángulo de separación del eje 𝑧𝑖 − 1 y el eje 𝑧𝑖, medido en un plano perpendicular al eje 𝑥𝑖,
utilizando la regla de la mano derecha.

Figura 2. Parámetros D-H para un eslabón giratorio.

5
Pasos del algoritmo.

DH1. Numerar los eslabones comenzando con 1 (primer eslabón móvil de la cadena) y acabando
con n (último eslabón móvil). Se enumerará como eslabón 0 o la base fija del robot.

DH2. Numerar cada articulación comenzando por 1 (la correspondiente al primer grado de libertad) y
acabando en 𝑛.

6
DH3. Localizar el eje de cada articulación. Si esta 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.

DH4. Para i de 0 a 𝑛 − 1 situar el eje 𝑧𝑖 sobre el eje de la articulación 𝑖 + 1.

7
DH5. Situar el origen del sistema de la base [S0] en cualquier punto del eje 𝑧0 . Los ejes 𝑥0 e 𝑦0 se
situarán de modo que formen un sistema dextrógiro con 𝑧0 .

DH6. Para i de 1 a 𝑛 − 1, situar el sistema {𝑆𝑖 } (solidario al eslabón 𝑖) en la intersección del eje 𝑧𝑖 con
la línea normal común a 𝑧𝑖 − 1 y 𝑧𝑖 . Si ambos ejes se cortasen se situaría {𝑆𝑖 } en el punto de corte.
Si fuesen paralelos {𝑆𝑖 } se situaría en la articulación 𝑖 + 1.

DH7. Situar 𝑥𝑖 en la línea normal común a 𝑧𝑖 + 1 y 𝑧𝑖

DH8. Situar 𝑦𝑖 de modo que forme un sistema dextrógiro con 𝑥𝑖 y 𝑧𝑖

8
DH9. Situar el sistema {𝑆𝑛 } en el extremo del robot de modo que 𝑧𝑛 coincida con la dirección de 𝑧𝑎 −
1 y 𝑥𝑛 sea normal a 𝑧𝑛 -1 y 𝑧𝑛

DH10. Obtener 𝜃𝑖 como el ángulo que hay que girar en torno a 𝑧𝑖 − 1 para que 𝑥𝑖 − 1 y 𝑥𝑖 queden
paralelos.

DH11. Obtener di como la distancia, medida a lo largo de 𝑧𝑖 1, que habría que desplazar {𝑆𝑖 1} para que
𝑥𝑖 y 𝑥𝑖 − 1 quedan alineados (Tabla 3).

DH12. Obtener 𝑎𝑖 como la distancia medida a lo largo de 𝑥𝑖 (que ahora coincidiría con 𝑥𝑖 − 1) que habría
que desplazar el nuevo {𝑆𝑖 − 1} para que su origen coincidiese con {𝑆𝑖 }.

DH13. Obtener 𝛼𝑖 como el ángulo que habría que girar en torno a 𝑥𝑖 (que ahora coincidiría con xi-1),
para que el nuevo {𝑆𝑖 -1} coincidiese totalmente con {𝑆𝑖 }.

DH14. Obtener las matrices de transformación 𝐴𝑖 .

T1 = [1, 0, 0, 0; 0, cosd(270), -sind(270), 0; 0, sind(270), cosd(270),


0; 0, 0, 0, 1];

T2 = [cosd(q1), -sind(q1), 0, 0; sind(q1), cosd(q1), 0, 0; 0, 0, 1, L1;


0, 0, 0, 1];

T3 = [1, 0, 0, 0; 0, cosd(90), -sind(90), 0; 0, sind(90), cosd(90), 0; 0,


0, 0, 1];

T4 = [cosd(q2), -sind(q2), 0, L2*cosd(q2); sind(q2), cosd(q2), 0,


L2*sind(q2); 0, 0, 1, 0; 0, 0, 0, 1];

T5 = [cosd(q3), -sind(q3), 0, L3*cosd(q3); sind(q3), cosd(q3), 0,


L3*sind(q3); 0, 0, 1, 0; 0, 0, 0, 1];

T6 = [1, 0, 0, 0; 0, cosd(q4), -sind(q4), 0; 0, sind(q4), cosd(q4), 0; 0,


0, 0, 1];

T = T1*T2*T3*T4*T5*T6

T1 = [1, 0, 0, 0; 0, cos(3*(pi/2)), -sin(3*(pi/2)), 0; 0, sin(3*(pi/2)),


cos(3*(pi/2)), 0; 0, 0, 0, 1];

T2 = [cos(q1), -sin(q1), 0, 0; sin(q1), cos(q1), 0, 0; 0, 0, 1, L1; 0, 0,


0, 1];

T3 = [1, 0, 0, 0; 0, cos(pi/2), -sin(pi/2), 0; 0, sin(pi/2), cos(pi/2),


0; 0, 0, 0, 1];

T4 = [cos(q2), -sin(q2), 0, L2*cos(q2); sin(q2), cos(q2), 0, L2*sin(q2);


0, 0, 1, 0; 0, 0, 0, 1];

T5 = [cos(q3), -sin(q3), 0, L3*cos(q3); sin(q3), cos(q3), 0, L3*sin(q3);


0, 0, 1, 0; 0, 0, 0, 1];

9
T6 = [1, 0, 0, 0; 0, cos(q4), -sin(q4), 0; 0, sin(q4), cos(q4), 0; 0, 0,
0, 1];

T = T1*T2*T3*T4*T5*T6

DH15. Obtener la matriz de transformación que relaciona el sistema de la base con el extremo del robot
𝑇 = 𝐴1 , 𝐴2 … 𝐴𝑛 .

DH16. La matriz 𝑇 define la orientación (submatriz de rotación) y posición (submatriz de traslación) del
extremo referido a la base en función de las coordenadas articulares.

Tabla 3. Parámetros de Denavit-Hartenberg.

𝑿 𝒁

𝒂 𝜶 𝒅 𝜽

1 270

2 360°

3 2095 mm

4 90

5 −54° − 10°

6 1,840 mm

7 −165° − 165°

8 290 mm

9 360°

10
Desarrollo del problema en el programa creado en App Designer.

Conclusión.

En base a las pruebas realizadas se puede concluir que se ha conseguido generar un programa
funcional para realizar pruebas de trayectoria y análisis de la cinemática de un brazo robótico,
fundamentado en él método de Denavit-Hartenberg. Además, dicho programa podrá seguir
siendo utilizado como base en futuros estudios e investigaciones. Los objetivos planteados se
cumplieron uno por uno, tenemos tanto el diseño como el programa y las coordenadas del punto
final, a pesar de no haber utilizado al 100% el diseño original realizado debido a su forma
irregular, éste sirvió como un punto de partida para llegar al diseño final, la cual se desempeña
de manera satisfactoria a pesar de los cambios y de no haber sido diseñada de manera muy
detallada.

El uso del Matlab como programa base de toda la configuración y elaboración del programa
resultó ser la mejor alternativa debido a la amplia cantidad de herramientas que se pueden usar,
la variedad de trabajos que se puede realizar.

Referencias.

[1] Barrientos, A., Peñin, L. F., Balaguer, C., & Aracil, R. (2007) "Fundamentos de robótica”
Madrid: McGraw-Hill.

11

También podría gustarte