Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PUEBLA
FACULTAD DE CIENCIAS DE LA
ELECTRÓNICA
Reporte tarea 1
Cinemática directa de Robots manipuladores
Curso: Robótica
Alumno:
Otoño 2018
Fecha de entrega: 04/10/2018
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.
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.
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
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
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)
𝐽𝑎𝑐𝑜𝑏𝑖𝑎𝑛𝑜
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 ⋯
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)
9
Apéndice 3
10