You are on page 1of 30

FACULTAD DE INGENIERÍA MECANICA

CONTROL DE ROBOT MANIPULADOR DE 2GDL


INFORME 1

Profesor: MSc. Calle Flores, Iván Arturo


Curso: Análisis y Control de Robots Sección: A

Alumnos:

Trucios Ruiz, Luis Enrique 20152053D

Lima, 05 de octubre del 2018


Análisis y Control de Robots
1ER INFORME

Rincón Virhuez, Angélica Mercedes 20152032G

Soel Huamaní, Juan Diego 20152003G

INDICE
1. DISEÑO MECÁNICO ........................................................................................4
A. VISTA ISOMETRICA DEL MANIPULADOR............ Error! Bookmark not
defined.
B. PLANOS DE CADA PIEZA ............................................................................6
C. PROCESO DEL DISEÑO .............................................................................. 11
D. ESPECIFICACIONES DEL MOTOR............................................................ 15
ELECCIÓN DEL MOTOR ........................................................................ 15
TABLA DE PARAMETROS ...................................................................... 15
PLANO DEL MOTOR .............................................................................. 16
REPRESENTACION EN SOLIDWORK .................................................. 16
VISTA DEL ENCODER ............................................................................. 17
CALCULOS DEL MOTOR ....................................................................... 17
CORROBORANDO .................................................................................. 18
E. PRESUPUESTO ............................................................................................. 19
2. CINEMÁTICA DIRECTA................................................................................. 20
A. VISTA ISOMETRICA DEL MANIPULADOR............................................. 20
B. DIAGRAMA DENAVIT – HARTENBERG .................................................. 21
C. SIMULACIÓN EN MATLAB ....................................................................... 23
3. CINEMÁTICA INVERSA................................................................................. 25
A. VISTA ISOMETRICA DEL MANIPULADOR............................................. 25
C. CALCULO DE LOS ANGULOS DE ROTACIÓN..................................... 26
D. SIMULACIÓN EN MATLAB ....................................................................... 27

~2~
Análisis y Control de Robots
1ER INFORME

~3~
Análisis y Control de Robots
1ER INFORME

1. OBJETIVOS
 OBJETIVO PRINCIPAL
- Diseñar y analizar el modelo mecánico y cinemático de un brazo
robótico de 2 grados de libertad.
 OBJETIVOS ESPECÍFICOS
- Diseño de un brazo robótico de 2gdl.
- Realizar el cálculo de la cinemática directa e inversa utilizando la
convención Denavit – Hartenberg y el método geométrico.

~4~
Análisis y Control de Robots
1ER INFORME

2. DISEÑO MECÁNICO

Figura 1. Modelo Isométrico del Manipulador

~5~
Análisis y Control de Robots
1ER INFORME

Figura 2. Vista frontal del Manipulador

A. PLANOS DE CADA PIEZA

Pieza1.

Largo Base

~6~
Análisis y Control de Robots
1ER INFORME

Pieza 2

Base medio

~7~
Análisis y Control de Robots
1ER INFORME

Pieza 5

Torre Atrás

~8~
Análisis y Control de Robots
1ER INFORME

Torre Tapa Arriba

Torre Lateral

~9~
Análisis y Control de Robots
1ER INFORME

Torre Tapa Motor

Junta2

~ 10 ~
Análisis y Control de Robots
1ER INFORME

Abrazadera

B. PROCESO DEL DISEÑO

Lo primero que se diseño fue la base, la cual tiene como objetivo


principal sostener el motor. Se quería aprovechar que estamos
usando MDF, para que podamos ocultar los motores y los cables,
es por ellos que se ha cerrado ambos lados y solo dos aberturas
para poder colocar el sistema de control, Cabe resaltar que si es
preciso después haremos una especie de puertas con bisagra, para
que toda la base se encuentre cerrada.

~ 11 ~
Análisis y Control de Robots
1ER INFORME

Después hicimos el marcador de posición que debía ser grande y


notorio. Encima se diseñó una estructura alta, la cual también
debería ser cerrada, ya que ese es el principio con el que nos
estamos basando en el diseño.

~ 12 ~
Análisis y Control de Robots
1ER INFORME

También vimos necesario hacer una abrazadera y aprovechamos


que le cilindro tiene un desnivel, por lo cual con el mismo material
se hicieron 4 abrazaderas que evitaran que el motor se mueva de
forma axial.

~ 13 ~
Análisis y Control de Robots
1ER INFORME

Para usar sistemas de transmisión se pensó en usar un tornillo sin


fin o una manivela para cambiar el movimiento de rotación a lineal.
Debido a que, por experiencia anterior, el uso de los tornillos sin fin
es costo y difícil de realizarlo hemos visto conveniente hacerlo con
una manivela y una biela.

Esta parte aún está en proyecto de diseño debido a que los motores
no llegan, Pero para el siguiente informe, si aún no llegan lo
probaremos con el motor que hemos encontrado que es de un
diámetro de eje mayor igual a 5mm.

Si vemos que nos es posible realizar el control de posición lineal con


la manivela, solo realizaremos el movimiento rotacional o en todo
caso usaremos el tornillo sin fin.

~ 14 ~
Análisis y Control de Robots
1ER INFORME

C. ESPECIFICACIONES DEL MOTOR


 ELECCIÓN DEL MOTOR

Por cuestión de facilidad de diseño, compra y elección del driver se


decidió que para ambas juntas se use el mismo motor.

Para ello se buscó uno que tenga un torque nominal relativamente


alto (para soportar la base), una velocidad nominal baja y un
Encoder de dos fases para facilitar el control.

En la página de importaciones Bangood.com se encontró este


modelo el cual ya tiene incluido uno caja reductora.

Motor DC 12 v 200 RPM con Encoder-CHIHAI CHR-3429K-1210-


50-ABHL

Figura 3. Motor DC seleccionado.

 TABLA DE PARAMETROS

MODELO CHR-3429K-1210-50-ABHL

VOLTAJE DC 12.0 V

~ 15 ~
Análisis y Control de Robots
1ER INFORME

VELOCIDAD SIN CARGA 200 rpm

CORRIENTE SIN CARGA 0.3 A max

CARGA NOMINAL 6.0 kg.cm

VELOCIDAD NOMINAL 140 rpm

CORRIENTE NOMINAL 1.75 A

POTENCIA NOMINAL 10.5 W

PAR DE PARADA >=20 kg.cm

CORRIENTE DE PARADA <= 5.5 A

NÚMERO DE PULSOS DE SALIDA 11 PPR x 50 =550 PPR

 PLANO DEL MOTOR

Figura 4. Plano del Motor DC - CHIHAI

 REPRESENTACION EN SOLIDWORK

~ 16 ~
Análisis y Control de Robots
1ER INFORME

Figura 5. Representación en Solidwork

 VISTA DEL ENCODER

Figura 6. Plano del Motor DC – CHIHAI

 CALCULOS DEL MOTOR

Del modelado en Solidwork hallamos el momento de inercia que


tendrá que vencer el motor en la base:

Además, sabemos que:

~ 17 ~
Análisis y Control de Robots
1ER INFORME

𝑻𝒎𝒐𝒕𝒐𝒓 = 𝑰𝟎𝒛𝒛 ∙ 𝜶
Según SolidWorks, el momento de inercia de la carga para el motor
1 es: 21907882.36 g*mm2=0.00219 kg.m2

De los parámetros de nuestro motor tenemos que la velocidad de


salida es 140 rpm.

𝑇𝑖𝑒𝑚𝑝𝑜 𝑒𝑛 𝑑𝑎𝑟 𝑢𝑛𝑎 𝑣𝑢𝑒𝑙𝑡𝑎: 0.4285 𝑠

Hallamos la aceleración requerida:

2 ∙ (2π)
𝛼= 2
= 68.437 𝑟𝑎𝑑/𝑠 2
𝑡
Por lo tanto, el torque requerido al motor será de:

𝑇𝑚𝑜𝑡𝑜𝑟 = 0.00219 ∗ 68.437 = 1.4987𝑁. 𝑚


= 15.277 𝑘𝑔. 𝑐𝑚
El motor escogido tiene un par de parada superior a este torque (20 kg.cm)

 CORROBORANDO

~ 18 ~
Análisis y Control de Robots
1ER INFORME

Además, se sabe que la relación entre la inercia de la carga y la del motor debe

ser menor a 30:

Inercia del motor respecto a su rotor:

Iyy=29222.72 g*mm2
D. PRESUPUESTO
PRODUCTO COSTO CANTIDAD PRECIO TOTAL

UNITARIO

Ruedas Locas 2.50 4 10.00

Pernos 0.125 72 9.00

Arandelas 0.416 72 3.00

Ángulos de ½ ” 0.167 36 6.00

Ángulos de 1” 0.25 24 6.00

MDF 15.00 1 15.00

~ 19 ~
Análisis y Control de Robots
1ER INFORME

CORTE LASÉR

MOTOR 50.00 2 100.00

ACOPLES 10.00 2 20.00

PRECIO TOTAL S/ 169.00

3. CINEMÁTICA DIRECTA
A. VISTA ISOMETRICA DEL MANIPULADOR

Nuestros ángulos de salida serán: 𝜃 = [𝜃1 , 𝜃2 ]

Figura 7. Modelo Isométrico del Manipulador

~ 20 ~
Análisis y Control de Robots
1ER INFORME

Figura 8. Modelo Simplificado

B. DIAGRAMA DENAVIT – HARTENBERG

Según la teoría de Denavit – Hartenberg

Link 𝜽𝒊 𝒅𝒊 𝒂𝟏 𝜶𝟏

1 𝜃1 𝑑1 0 𝜋/2

2 𝜃2 𝑑2 𝑎2 0

Reemplazando. -

Link 𝜽𝒊 𝒅𝒊 𝒂𝟏 𝜶𝟏

1 𝜃1 14.4 cm 0 𝜋/2

2 𝜃2 6.8 𝑐𝑚 3.6 cm 0

Calculo de la matriz de transformación: 𝐴10

~ 21 ~
Análisis y Control de Robots
1ER INFORME

cos(𝜃1 ) 0 sin(𝜃1 ) 0
sin(𝜃1 ) 0 −cos(𝜃1 ) 0]
𝐴10 = [
0 1 1 𝑑1
0 0 0 1

Calculo de la matriz de transformación: 𝐴12

cos(𝜃2 ) −sin(𝜃2 ) 0 𝑎2 ∗ cos(𝜃2 )


sin(𝜃2 ) cos(𝜃2 ) 0 𝑎2 ∗ sin(𝜃2 )
𝐴12 = [ ]
0 1 1 𝑑2
0 0 0 1

Calculo de la matriz de transformación respecto al origen

𝑇20 = 𝐴10 ∗ 𝐴12

cos(𝜃1 ) ∗ cos(𝜃2 ) −cos(𝜃1 ) ∗ sin(𝜃2 ) sin(𝜃1 ) 3.6 ∗ cos(𝜃1 ) ∗ cos(𝜃2 ) + 6.8 ∗ sin(𝜃1 )
sin(𝜃1 ) ∗ cos(𝜃2 ) −sin(𝜃1 ) ∗ sin(𝜃2 ) −cos(𝜃1 ) 3.6 ∗ sin(𝜃1 ) ∗ cos(𝜃2 ) 𝑒 − 6.8 ∗ cos(𝜃1 )
[ ]
sin(𝜃2 ) cos(𝜃2 ) 0 3.6 ∗ sin(𝜃2 ) + 14.4
0 0 0 1

~ 22 ~
Análisis y Control de Robots
1ER INFORME

C. SIMULACIÓN EN MATLAB

%---------------------------------------------------------------%
% CINEMÁTICA DIRECTA DEL MANIPULADOR DE 2GDL
%---------------------------------------------------------------%
clc; clear all; close all
%---------------------------------------------------------------%
% 1. LONGITUD DEL MANIPULADOR - WORK-SPACE
%---------------------------------------------------------------%
L1 = 14.4;
L2 = 6.8;
L3 = 3.6;
figure(1)
theta11=180;
theta22=180;
[X,Y] = meshgrid(-theta11:5:theta11,-theta22:5:theta22);
plot(X,Y,Y,X)
hold on
grid on
xlabel('theta1°')
ylabel('theta2°')

%---------------------------------------------------------------%
% 2. PARAMETROS MECÁNICOS DEL MANIPULADOR
%---------------------------------------------------------------%
q1d=35.2255;
q2d=36.2754;
q1=q1d*pi/180;
q2=q2d*pi/180;

%---------------------------------------------------------------%
% 3. PLOTEO DEL ENTORNO
%---------------------------------------------------------------%
figure(2)
T0=eye(4);
plot_frame(T0,'frame','0','color','b','view','auto','length',8);
axis([-20 20 -20 20 -5 30])
hold on
grid on
xlabel('x(cm)')
ylabel('y(cm)')

%---------------------------------------------------------------%
% 4. CONFIGURACION INICIAL DEL ROBOT
%---------------------------------------------------------------%
% 4.1 ESLABON 1
% -> Hallamos A1
theta1 = q1;
d1 = L1;
a1 = 0;
alpha1 = pi/2;
% -> Matriz A1
A1 = matriz_homogenea_DH(theta1,d1,a1,alpha1);
% -> Ploteamos T101
T01=A1;
h1=plot_frame(T01,'frame','1','color','b','length',5);

~ 23 ~
Análisis y Control de Robots
1ER INFORME

% 4.2. ESLABON 2
theta2 = q2;
d2 = L2;
a2 = 0;
alpha2 = 0;
% -> Matriz A2
A2 = matriz_homogenea_DH(theta2,d2,a2,alpha2);
T02=T01*A2;
% -> Ploteamos T02
%h2=plot_frame(T02,'frame','2','color','b','length',5);
% 4.3. ESLABON 3
theta3 = 0;
d3 = 0;
a3 = L3;
alpha3 = 0;
% -> Matriz A2
A3 = matriz_homogenea_DH(theta3,d3,a3,alpha3);
T03=T02*A3;
% -> Ploteamos T02
h3=plot_frame(T03,'frame','2','color','b','length',5);

%------------------------------------------------------------%
% 5. DIBUJAMOS EL ROBOT
%------------------------------------------------------------%
% 5.1. PRIMERA LINEA
x1 = T01(1,4);
y1 = T01(2,4);
z1 = T01(3,4);
line([0 x1], [0 y1], [0 z1], 'LineWidth', 4,'color','k')
% 5.2. SEGUNDA LINEA
x2 = T02(1,4);
y2 = T02(2,4);
z2 = T02(3,4);
line([x1 x2], [y1 y2], [z1 z2], 'LineWidth', 4,'color','k')
% 5.3 TERCERA LINEA
x3 = T03(1,4);
y3 = T03(2,4);
z3 = T03(3,4);
line([x2 x3], [y2 y3], [z2 z3], 'LineWidth', 4,'color','k')
%==============================================================%

~ 24 ~
Análisis y Control de Robots
1ER INFORME

Figura 9. Representación en Solidwork

4. CINEMÁTICA INVERSA

A. VISTA ISOMETRICA DEL MANIPULADOR


Nuestro punto de llegada será: 𝑃 = [𝑥𝑓 , 𝑦𝑓 , 𝑧𝑓 ]

~ 25 ~
Análisis y Control de Robots
1ER INFORME

𝑃 = [𝑥𝑓 , 𝑦𝑓 , 𝑧𝑓 ]

Figura 10. Modelo Isométrico del Manipulador

B. WORKSPACE

Para el manipulador de 2GD tendremos el siguiente espacio de trabajo.

Figura 11. Cascarón esférico truncado.

C. CALCULO DE LOS ANGULOS DE ROTACIÓN


Hallamos el valor de 𝜃2 , aplicando métodos geométricos

~ 26 ~
Análisis y Control de Robots
1ER INFORME

Figura 12. Vista lateral del manipulador

𝑧𝑓 = 3.6 ∗ sin(𝜃2 ) + 14.4


𝑧𝑓 − 14.4
𝜃2 = asin( )
3.6
Hallamos el valor de θ1 aplicando métodos geométricos

Figura 13. Vista superior del manipulador

𝛽 = 𝑎𝑡𝑎𝑛2(𝑦, 𝑥)
𝜑 = 𝑎𝑡𝑎𝑛2(6.8, 3.6 ∗ cos(𝜃2 ))
𝜃1 = 𝜑 + 𝛽
D. SIMULACIÓN EN MATLAB

%---------------------------------------------------------------%

~ 27 ~
Análisis y Control de Robots
1ER INFORME

% CINEMÁTICA INVERSA DEL MANIPULADOR DE 2GDL


%---------------------------------------------------------------%

clc; clear all; close all

%---------------------------------------------------------------%
% 1. LONGITUD DEL MANIPULADOR - WORK-SPACE
%---------------------------------------------------------------%
L1 = 14.4;
L2 = 6.8;
L3 = 3.6;

figure(3)
zz = linspace(L1-L3,L1+L3,50);
[x, y, z] = cylinder(sqrt(L3^2+L2^2-((zz-L1).^2)));
zx = z*2*L3+(L1-L3);
surf(x,y,zx), view(134,30)
axis
hold on
grid on
xlabel('x(cm)')
ylabel('y(cm)')

%---------------------------------------------------------------%
% 2. PARAMETROS MECÁNICOS DEL MANIPULADOR
%---------------------------------------------------------------%
xc=9.632;
yc=3.129;
zc=21.1;
if (zc<L1-L3 | zc>L1+L3)
display('"z" se encuentra fuera del espacio de trabajo')
return
%elseif ((zc-L1)^2+xc^2+yc^2~=(L2^2+L3^2))
% display('"x" o "y" estan fuera del espacio de trabajo')
end
PARAMETROS=[L1,L2,L3];

%---------------------------------------------------------------%
% 3. PLOTEO DEL ENTORNO
%---------------------------------------------------------------%
figure(4)
T0=eye(4);
plot_frame(T0,'frame','0','color','b','view','auto','length',8);

axis([-20 20 -20 20 -5 30])


hold on
grid on

xlabel('x(cm)')
ylabel('y(cm)')
plot3(xc,yc,zc,'ro','MarkerFaceColor','k','MarkerSize',10)

%---------------------------------------------------------------%
% 4. CINEMATICA INVERSA
%---------------------------------------------------------------%

~ 28 ~
Análisis y Control de Robots
1ER INFORME

% 4.1. USAMOS EL METODO "cinemmatica_inversa"


[q1,q2]=cinematica_inversa_2GDL(xc,yc,zc,PARAMETROS);
q1d=q1;
q2d=q2;
q=[q1d,q2d];
% 3.2. SALIDAS
disp('angulos');
disp(q*180/pi)

%---------------------------------------------------------------%
% 5. CONFIGURACION INICIAL DEL ROBOT
%---------------------------------------------------------------%
% 5.1 ESLABON 1
% -> Hallamos A1
theta1 = q1;
d1 = L1;
a1 = 0;
alpha1 = pi/2;
% -> Matriz A1
A1 = matriz_homogenea_DH(theta1,d1,a1,alpha1);
% -> Ploteamos T101
T01=A1;
h1=plot_frame(T01,'frame','1','color','b','length',5);

% 5.2. ESLABON 2
theta2 = q2;
d2 = L2;
a2 = 0;
alpha2 = 0;
% -> Matriz A2
A2 = matriz_homogenea_DH(theta2,d2,a2,alpha2);
T02=T01*A2;
% -> Ploteamos T02
%h2=plot_frame(T02,'frame','2','color','b','length',5);

% 5.2. ESLABON 3
theta3 = 0;
d3 = 0;
a3 = L3;
alpha3 = 0;
% -> Matriz A2
A3 = matriz_homogenea_DH(theta3,d3,a3,alpha3);
T03=T02*A3;
% -> Ploteamos T02
h3=plot_frame(T03,'frame','2','color','b','length',5);

%------------------------------------------------------------%
% 6. DIBUJAMOS EL ROBOT
%------------------------------------------------------------%
% 6.1. PRIMERA LINEA
x1 = T01(1,4);
y1 = T01(2,4);
z1 = T01(3,4);
line([0 x1], [0 y1], [0 z1], 'LineWidth', 4,'color','k')
% 6.2. SEGUNDA LINEA
x2 = T02(1,4);

~ 29 ~
Análisis y Control de Robots
1ER INFORME

y2 = T02(2,4);
z2 = T02(3,4);
line([x1 x2], [y1 y2], [z1 z2], 'LineWidth', 4,'color','k')
% 6.4 TERCERA LINEA
x3 = T03(1,4);
y3 = T03(2,4);
z3 = T03(3,4);
line([x2 x3], [y2 y3], [z2 z3], 'LineWidth', 4,'color','k')

%================================================================

Figura 14. Simulación en Matlab

~ 30 ~