Está en la página 1de 10

UNIVERSIDAD AUTONOMA DE

PUEBLA
FACULTAD DE CIENCIAS DE LA
ELECTRÓNICA
Reporte tarea 1
Cinemática directa de Robots manipuladores

Carrera: Licenciatura en Ingeniería Mecatrónica

Curso: Robótica

Alumno:

Quitl Romero José Rubén 201444735

Otoño 2018
Fecha de entrega: 04/10/2018

Profesor: Dr. Fernando Reyes Cortés

1
RESUMEN

En esta tarea se presenta el desarrollo para la obtención del modelado cinemático completo
de un robot manipulador indicado. Para ello, primero es necesario asignar los sistemas de
referencias Ʃi (xi, yi, zi) de cada articulación que conforma al robot teniendo en cuenta la
forma de su estructura y la posición de casa elegida. Habiendo asignado nuestros sistemas
de referencias se prosiguió a llevar a cabo un análisis para poder determinar la tabla de
parámetros de Denavit Hartenberg, realizar su metodología y establecer de manera concreta
la matriz de transformación homogénea del robot, esto con apoyo de una herramienta
matemática y así poder modelar la posición y orientación del robot (cinemática directa).
También con esta herramienta se generó el Jacobiano y así después poder analizar los puntos
singulares del espacio de trabajo del robot. Por último se llevó a cabo la cinemática inversa
del robot por medio de geometría aplicada.

2
1. INTRODUCCIÓN

La robótica está tomando un papel muy importante para el futuro de la sociedad, ya que cada
vez hay más robots que desempeñan tareas del ser humano. Por ejemplo los robots
manipuladores que son utilizados en procesos industriales sirven para trabajar con materiales
peligrosos, también sirven para desempeñar procesos en serie, etc. Las exigencias de la
industria actual requieren que el robot manipulador cuente con técnicas de control avanzadas
para cumplir con necesidades específicas. Para llevar a cabo esto es necesario conocer la
cinemática del robot.

La cinemática directa de robots manipuladores industriales proporciona elementos para


analizar y diseñar el desplazamiento de trayectorias del robot, así como la orientación de la
herramienta de trabajo. Dependiendo del tipo de articulaciones que se encuentran incluidas
en la estructura mecánica del robot (lineales o rotacionales). Existen varios métodos para
obtener el modelo cinemático, por ejemplo por geometría aplicada al mecanismo se pueden
deducir fácilmente las ecuaciones cinemáticas del robot. Sin embargo, cuando el número de
grados de libertad crece, este método puede resultar tedioso1. En esta tarea utilizaremos la
metodología Denavit Hartenberg, la cual es ampliamente conocida en el ambiente de
ingeniería y ofrece un procedimiento sencillo para obtener el modelo cinemático directo en
la cual su estructura queda en representación de transformaciones homogéneas.

Como primer parte se llevó a cabo la asignación de nuestros sistemas de referencias de cada
articulación Ʃi (xi, yi, zi), esto dependiendo de la forma del robot. Teniendo ya definidos los
sistemas de referencia se puede llevar a cabo un análisis y poder determinar la tabla de
parámetros relacionados con cada uno de los eslabones que conforman nuestro robot.
Posteriormente con ayuda del software Matlab se obtuvieron las matrices de transformación
homogéneas de cada eslabón y con estas posteriormente se obtuvo la matriz de
transformación homogénea 𝐻04 del robot. También con esta herramienta se generó el
Jacobiano y así después analizar los puntos singulares del espacio de trabajo del robot. Por
último se realizó la cinemática inversa del robot por medio de geometría aplicada.

1
(Cortés, 2011)

3
2. OBJETIVOS
2.1 Objetivo general
 Realizar el modelado cinemático completo del robot manipulador indicado
aplicando los conocimientos adquiridos en clase.

2.2 Objetivos específicos


 Asignación de los sistemas de referencias Ʃi (xi, yi, zi), de acuerdo a la
posición de casa del robot.
 Obtención de la tabla de Denavit Hartenberg.
 Desarrollar la matriz de transformación homogénea 𝐻04 con ayuda de la
herramienta Matlab.
 Obtener la expresión matemática de la cinemática directa del robot con ayuda
de la herramienta Matlab.
 Generar la matriz jacobiana y analizar los puntos singulares del espacio de
trabajo del robot.
 Desarrollar la cinemática inversa del robot.

3. PLANTEAMIENTO DEL PROBLEMA


En esta tarea se realizara el modelado cinemático completo del robot manipulador
indicado (figura 1). Para la obtención del modelado cinemático es necesario llevar a
cabo ciertos paso previamente, uno de ellos es encontrar la matriz de transformación
homogénea, también es posible realizar un modelado cinemático del robot mediante
geometría aplicada (cinemática inversa). Por último, al tener la tabla de parámetros
de cada eslabón y la matriz de transformación homogénea, es posible generar la
matriz jacobiana y asi poder analizar los puntos singulares del espacio de trabajo de
este robot.

Figura 1. Diagrama del robot manipulador asignado.

4
4. SOLUCIÓN AL PROBLEMA

4.1 Asignación de los sistemas de referencias Ʃi (xi, yi, zi) y obtención de la tabla
de Denavit Hartenberg.

Para esta primer parte el sistema de referencia ∑ 0 se colocó en la base del robot, ∑ 1 se
colocó en la parte inferior del servomotor rotacional coincidiendo con el eje 𝑧0 del sistema
de referencia ∑ 0 . De igual manera como se hizo con el sistema ∑ 1 se coloca el sistema ∑ 2
𝜋
en la parte inferior del servomotor rotacional con una rotación auxiliar de − 2 con respecto
al eje 𝑥1 y finalmente se colocó el sistema ∑ 3 a una distancia 𝑙3 del sermotor 𝛽3 con otra
𝜋
rotación auxiliar de − 2 con respecto al eje 𝑥2 . En la siguiente figura se muestra el robot
manipulador con los sistemas de referencias ∑ 𝑖 (𝑥𝑖 , 𝑦𝑖 , 𝑧𝑖 ) ya asignados (Figura 2).

Figura 2. Diagrama del robot manipulador asignado con sus sistemas de referencia de cada articulación

Una vez teniendo colocados todos los sistemas de referencia ∑ 𝑖 (𝑥𝑖 , 𝑦𝑖 , 𝑧𝑖 ), se procedió a
llenar la tabla de parámetros de cada eslabón de Denavit Hartenberg (Tabla 1).

5
Eslabon 𝒍𝒊 𝜶𝒊 𝒅𝒊 ; 𝜷𝒊 𝜽𝒊
1 0 0 𝑑1 + 𝑙1 0
2 𝑙2𝑎 𝑐𝑜𝑠(𝑞2 − 𝜋/2) 𝜋 𝑙2 + 𝛽2 𝑞2 + 𝜋/2

2
3 𝑙2𝑎 𝑐𝑜𝑠(𝑞2 − 𝜋/2) 𝜋 𝑙3 + 𝛽3 𝑞3 + 𝜋/2

2
4 0 0 𝑙5 + 𝛽4 0

Tabla 2. Tabla de Denavit Hartenberg del robot manipulador indicado.

4.2 Desarrollo la matriz de transformación homogénea 𝐻04 del robot

Teniendo asignados los sistemas de referencia y la tabla de parámetros de Denavit


Hartenberg se continuó con el cálculo de la matriz homogénea 𝐻04 para ello se utilizó el
software Matlab y se modificaron los programas que hemos estado utilizando durante la
clase. A continuación se muestra una pequeña parte del código en Matlab en donde se
calculan las matrices de transformación homogénea de cada articulación que conforman el
robot.

function H=H_R8()
syms q2 q3 q4 beta2 beta3 beta4 l1 l2 l2a l3 l4 l5 d1 alpha1 alpha2
alpha3 alpha4 real
disp('Transformación Homogénea H40 del robot 8')
disp('Parámetros Denavit-Hartenberg del robot ')
disp('[l alpha d q]')
dh=[0, 0,d1+l1, 0; l2a*cos(q2-(pi/2)), -pi/2, beta2+l2, q2+(pi/2);
l4*cos(q3-(pi/2)), -pi/2, beta3+l3, q3+(pi/2);0,0,beta4+l5,q4];
disp(dh)
H10=simplify(HRz(0)*HTz(d1 + l1)*HTx(0)*HRx(0));
H21=simplify(HRz(q2+ (pi/2))*HTz(l2 + beta2)*HTx(l2a*cos(q2-
(pi/2)))*HRx(-pi/2));
H32=simplify(HRz(q3+(pi/2))*HTz( beta3 + l3)*HTx(l4*cos(q3-
(pi/2)))*HRx(-pi/2));
H43=simplify(HRz(q4)*HTz(beta4+l5)*HTx(0)*HRx(0));
H40=simplify(vpa(H10*H21*H32*H43),4);

Al ejecutar el programa el resultado que arroga nos dice que la matriz de transformación
homogénea 𝐻04 es igual a:
𝐻04
𝑐𝑜𝑠(𝑞2) ∗ 𝑠𝑖𝑛(𝑞4) + 𝑐𝑜𝑠(𝑞4) ∗ 𝑠𝑖𝑛(𝑞2) ∗ 𝑠𝑖𝑛(𝑞3) 𝑐𝑜𝑠(𝑞2) ∗ 𝑐𝑜𝑠(𝑞4) − 1.0 ∗ 𝑠𝑖𝑛(𝑞2) ∗ 𝑠𝑖𝑛(𝑞3) ∗ 𝑠𝑖𝑛(𝑞4) 𝑐𝑜𝑠(𝑞3) ∗ 𝑠𝑖𝑛(𝑞2) …
𝑠𝑖𝑛(𝑞2) ∗ 𝑠𝑖𝑛(𝑞4) − 𝑐𝑜𝑠(𝑞2) ∗ 𝑐𝑜𝑠(𝑞4) ∗ 𝑠𝑖𝑛(𝑞3) 𝑐𝑜𝑠(𝑞4) ∗ 𝑠𝑖𝑛(𝑞2) + 𝑐𝑜𝑠(𝑞2) ∗ 𝑠𝑖𝑛(𝑞3) ∗ 𝑠𝑖𝑛(𝑞4) −1.0 ∗ 𝑐𝑜𝑠(𝑞2) ∗ 𝑐𝑜𝑠(𝑞3) …
=[ ]
−1.0 ∗ 𝑐𝑜𝑠(𝑞3) ∗ 𝑐𝑜𝑠(𝑞4) 𝑐𝑜𝑠(𝑞3) ∗ 𝑠𝑖𝑛(𝑞4) 𝑠𝑖𝑛(𝑞3) …
0 0 0 ⋯

6
⋯ 𝑐𝑜𝑠(𝑞3) ∗ 𝑠𝑖𝑛(𝑞2) ∗ (𝑏𝑒𝑡𝑎4 + 𝑙5) − 𝑐𝑜𝑠(𝑞2) ∗ (𝑏𝑒𝑡𝑎3 + 𝑙3) − 1.0 ∗ 𝑙2𝑎 ∗ 𝑠𝑖𝑛(𝑞2)^2 + 𝑙4 ∗ 𝑠𝑖𝑛(𝑞2) ∗ 𝑠𝑖𝑛(𝑞3)^2
⋯ 0.5 ∗ 𝑙2𝑎 ∗ 𝑠𝑖𝑛(2.0 ∗ 𝑞2) − 𝑠𝑖𝑛(𝑞2) ∗ (𝑏𝑒𝑡𝑎3 + 𝑙3) − 𝑐𝑜𝑠(𝑞2) ∗ 𝑐𝑜𝑠(𝑞3) ∗ (𝑏𝑒𝑡𝑎4 + 𝑙5) − 1.0 ∗ 𝑙4 ∗ 𝑐𝑜𝑠(𝑞2) ∗ 𝑠𝑖𝑛(𝑞3)^2
[ ]
⋯ 𝑏𝑒𝑡𝑎2 + 𝑑1 + 𝑙1 + 𝑙2 − 0.5 ∗ 𝑙4 ∗ 𝑠𝑖𝑛(2.0 ∗ 𝑞3) + 𝑠𝑖𝑛(𝑞3) ∗ (𝑏𝑒𝑡𝑎4 + 𝑙5)
⋯ 1

4.3 Expresión matemática de la cinemática directa del robot

Para obtener la expresión matemática de la cinemática directa del robot se tomó la última
columna de la matriz de transformación homogénea sin tomar en cuenta el elemento uno.
La expresión quedaría de la siguiente manera:

𝑥0
[𝑦0 ]
𝑧0
𝑐𝑜𝑠(𝑞3) ∗ 𝑠𝑖𝑛(𝑞2) ∗ (𝑏𝑒𝑡𝑎4 + 𝑙5) − 𝑐𝑜𝑠(𝑞2) ∗ (𝑏𝑒𝑡𝑎3 + 𝑙3) − 1.0 ∗ 𝑙2𝑎 ∗ 𝑠𝑖𝑛(𝑞2)^2 + 𝑙4 ∗ 𝑠𝑖𝑛(𝑞2) ∗ 𝑠𝑖𝑛(𝑞3)^2
= [. 5 ∗ 𝑙2𝑎 ∗ 𝑠𝑖𝑛(2.0 ∗ 𝑞2) − 𝑠𝑖𝑛(𝑞2) ∗ (𝑏𝑒𝑡𝑎3 + 𝑙3) − 𝑐𝑜𝑠(𝑞2) ∗ 𝑐𝑜𝑠(𝑞3) ∗ (𝑏𝑒𝑡𝑎4 + 𝑙5) − 1.0 ∗ 𝑙4 ∗ 𝑐𝑜𝑠(𝑞2) ∗ 𝑠𝑖𝑛(𝑞3)^2]
𝑏𝑒𝑡𝑎2 + 𝑑1 + 𝑙1 + 𝑙2 − 0.5 ∗ 𝑙4 ∗ 𝑠𝑖𝑛(2.0 ∗ 𝑞3) + 𝑠𝑖𝑛(𝑞3) ∗ (𝑏𝑒𝑡𝑎4 + 𝑙5)

4.4 Matriz Jacobiana y su determinante

Para generar la matriz jacobiana se utilizó el programa visto en clase (Apéndice 3) el


resultado que se obtuvo se muestra a continuación:

𝐽𝑎𝑐𝑜𝑏𝑖𝑎𝑛𝑜
0 𝑠𝑖𝑛(𝑞2) ∗ (𝑏𝑒𝑡𝑎3 + 𝑙3) + 𝑐𝑜𝑠(𝑞2) ∗ 𝑐𝑜𝑠(𝑞3) ∗ (𝑏𝑒𝑡𝑎4 + 𝑙5) − 2 ∗ 𝑙2𝑎 ∗ 𝑐𝑜𝑠(𝑞2) ∗ 𝑠𝑖𝑛(𝑞2) + 𝑙4 ∗ 𝑐𝑜𝑠(𝑞2) ∗ 𝑠𝑖𝑛(𝑞3)^2 ⋯
= [0 𝑙2𝑎 ∗ 𝑐𝑜𝑠(2 ∗ 𝑞2) − 𝑐𝑜𝑠(𝑞2) ∗ (𝑏𝑒𝑡𝑎3 + 𝑙3) + 𝑐𝑜𝑠(𝑞3) ∗ 𝑠𝑖𝑛(𝑞2) ∗ (𝑏𝑒𝑡𝑎4 + 𝑙5) + 𝑙4 ∗ 𝑠𝑖𝑛(𝑞2) ∗ 𝑠𝑖𝑛(𝑞3)^2 ⋯]
1 0 ⋯

⋯ 2 ∗ 𝑙4 ∗ 𝑐𝑜𝑠(𝑞3) ∗ 𝑠𝑖𝑛(𝑞2) ∗ 𝑠𝑖𝑛(𝑞3) − 𝑠𝑖𝑛(𝑞2) ∗ 𝑠𝑖𝑛(𝑞3) ∗ (𝑏𝑒𝑡𝑎4 + 𝑙5)


[⋯ 𝑐𝑜𝑠(𝑞2) ∗ 𝑠𝑖𝑛(𝑞3) ∗ (𝑏𝑒𝑡𝑎4 + 𝑙5) − 2 ∗ 𝑙4 ∗ 𝑐𝑜𝑠(𝑞2) ∗ 𝑐𝑜𝑠(𝑞3) ∗ 𝑠𝑖𝑛(𝑞3)]
⋯ 𝑐𝑜𝑠(𝑞3) ∗ (𝑏𝑒𝑡𝑎4 + 𝑙5) − 𝑙4 ∗ 𝑐𝑜𝑠(2 ∗ 𝑞3)

Igualmente con ayuda de la Herramienta Matlab se generó su determinante, el


resultado fue el siguiente:

Determinante J= sin(q3)*(beta4 + l5 - 2.0*l4*cos(q3))*(l4 + beta4*cos(q3) +


l5*cos(q3) - 2.0*l2a*(sin(q2) - sin(q2)^3) - 1.0*l4*cos(q3)^2 +
l2a*cos(2.0*q2)*sin(q2))

7
Conclusiones.
Al llevar a cabo esta tarea se pudo aplicar todo lo visto en la unidad dos para realizar
el modelado cinemático de un robot manipulador indicado. Al asignar los sistemas de
referencia en las diferentes articulaciones que conforman el robot de manera
conveniente fue posible un análisis simple, para poder hallar los parámetros de la
tabla de Denavit Hartenberg, posteriormente con estos parámetros fue viable la
generación de la matriz de transformación homogénea de cada articulación y así
también la matriz de transformación homogénea 𝐻04 , la cual nos representa en la
última columna la cinemática directa del robot. Este resultado proporciona
elementos para analizar y diseñar el desplazamiento de trayectorias del robot.

Bibliografía
Cortés, F. R. (2011). Robotica Control de robots manipuladores. México D.F: Alfaomega.

8
Apéndice.

Apéndice 1

function H=H_R8()
syms q2 q3 q4 beta2 beta3 beta4 l1 l2 l2a l3 l4 l5 d1 alpha1 alpha2
alpha3 alpha4 real
disp('Transformación Homogénea H40 del robot 8')
disp('Parámetros Denavit-Hartenberg del robot ')
disp('[l alpha d q]')
%tabla de parámetros DH del robot SCARA
dh=[0, 0,d1+l1, 0; l2a*cos(q2-(pi/2)), -pi/2, beta2+l2, q2+(pi/2);
l4*cos(q3-(pi/2)), -pi/2, beta3+l3, q3+(pi/2);0,0,beta4+l5,q4];
%despliega parámetros DH del robot SCARA
disp(dh)
%cálculo de las matrices de transformación homogénea de cada articulación
%H10=HR{z_0}{q_1}HT{z_0}{l_1+\beta_1}HT{x}{l_2}HR{x}{0}
H10=simplify(HRz(0)*HTz(d1 + l1)*HTx(0)*HRx(0));
%H21=HR{z_1}{q_2}HT{z_1}{beta_2}HT{x_1}{l_3}HR{x_1}{pi}
H21=simplify(HRz(q2+ (pi/2))*HTz(l2 + beta2)*HTx(l2a*cos(q2-
(pi/2)))*HRx(-pi/2));
%H32=HR{z_2}{0}HT{z_2}{d_3}HT{x_2}{0}HR{x_2}{0}
H32=simplify(HRz(q3+(pi/2))*HTz( beta3 + l3)*HTx(l4*cos(q3-(pi/2)))*HRx(-
pi/2));
%H43=HR{z_3}{0}HT{z_3}{d_4}HT{x_3}{0}HR{x_3}{0}
H43=simplify(HRz(q4)*HTz(beta4+l5)*HTx(0)*HRx(0));
%transformación homogénea del robot
%H30=H10 H21 H32 H43
H40=simplify(vpa(H10*H21*H32*H43),4);
%deducción de la matriz de rotación R30
%así como la cinemática directa cartesiana f_R(q_1,q_2,d_3) del robot
SCARA
[R40, cinematica_prototipo8, cero, c]=H_DH(H40);
%estructura de la matriz homogénea
disp('Estructura de la matriz homogénea')
H=[R40, cinematica_prototipo8; cero, c];

end

Apéndice 2

function
[x0,y0,z0]=cinematica_prototipo8(d1,l1,l2,beta2,q2,l2a,l3,beta3,q3,l4,bet
a4,q4,L5)

x0=simplify(vpa(sin(q2)*sin(q3)*(l5 + beta4) - 1.0*l2a*sin(q2)^2 -


0.5*L4*sin(2.0*q3)*sin(q2) - cos(q2)*(l3 + beta3)),2);
y0=simplify(vpa(0.5*L2a*sin(2.0*q2) - sin(q2)*(l3 + beta3) +
0.5*L4*sin(2.0*q3)*cos(q2) - cos(q2)*sin(q3)*(l5 + beta4)),2);
z0=simplify(vpa( l1 + l2 + beta2 + d1 - 1.0*cos(q3)*(L5 + beta4) -
1.0*L4*sin(q3)^2),2);
x0=vpa(x0); y0=vpa(y0);
end

9
Apéndice 3

jacob_prot8=jacobian([cos(q3)*sin(q2)*(beta4 + l5) - cos(q2)*(beta3 + l3)


- 1.0*l2a*sin(q2)^2 + l4*sin(q2)*sin(q3)^2;0.5*l2a*sin(2.0*q2) -
sin(q2)*(beta3 + l3) - cos(q2)*cos(q3)*(beta4 + l5) -
1.0*l4*cos(q2)*sin(q3)^2;beta2 + d1 + l1 + l2 - 0.5*l4*sin(2.0*q3) +
sin(q3)*(beta4 + l5)],[d1;q2;q3]);
disp('Jacobiano');
disp(jacob_prot8);
det_prot8=simplify(vpa(det(jacob_prot8),2));
disp('Determinante del Jacobiano');
disp(det_prot8);

10

También podría gustarte