Sie sind auf Seite 1von 13

UNIVERSIDAD CATÓLICA DE SANTA MARÍA

FACULTAD DE CIENCIAS E INGENIERÍAS FÍSICAS Y FORMALES


ESCUELA PROFESIONAL DE INGENIERÍA MECÁNICA,
MECÁNICA ELÉCTRICA Y MECATRÓNICA.

CURSO:
Robótica 1
DOCENTE:
Ing. Juan Carlos Cuadros M.

ALUMNOS:
Ccala Molina, Karlos Eduardo
Apaza Sucasaca, Diego Daniel
Portugal Quinto, Boris

Arequipa, 2018
I. OBJETIVO
1. Resolver el problema cinemático directo de robots articulares por metodologías geométricas
y por medio de matrices de transformación homogéneas.

II. MARCO TEORICO II.1. Modelo Cinemático


PCD: Métodos Geométrico y Por Cambios de Base (Desarrollar un breve resumen teórico del
tema. Presentarlo en el Informe Final)

III. MATERIAL Y EQUIPO


1. Una PC con SO Windows, MATLAB.

IV. PROCEDIMIENTO

IV.1 La figura siguiente representa la estructura de un robot plano de 3 GDL.


Resolver el problema cinemático directo de este robot, es decir, obtener x=f1(q1,q2,q3), y=f2(q1,q2,q3)
y =f3(q1,q2,q3), donde es la orientación del extremo del robot, por el método geométrico y por MTH.

Análisis del robot articulado


X = 𝐿1 cos(𝑞1 ) + 𝐿2 cos(𝑞1 + 𝑞2 )
Y = L1 sin(𝑞1 ) + 𝐿2 sin(𝑞1 + 𝑞2 )
ΑLPHA= 𝑞1 + 𝑞2 + 𝑞3
Matrices de transformación homogénea
10 𝑀1 = 𝑅𝑜𝑡𝑧 (𝑞1) 𝑦 𝑇𝑥1 (𝐿1 )
cos(q1) −sin(q1) 0 𝐿1
sin(q1) cos(q1) 0 0]
10 𝑀1 = [
0 0 1 0
0 0 0 1

11 𝑀2 = 𝑅𝑜𝑡𝑧 (𝑞2) 𝑦 𝑇𝑥2 (𝐿2 )


cos(q2) −sin(q2) 0 𝐿2
sin(q2) cos(q2) 0 0]
11 𝑀2 = [
0 0 1 0
0 0 0 1

12 𝑀3 => 𝑅𝑜𝑡𝑧 (𝑞3)


cos(q3) −sin(q3) 0 0
sin(q3) cos(q3) 0 0]
10 𝑀1 = [
0 0 1 0
0 0 0 1

10 𝑀3 = 10 𝑀1 ∗ 11 𝑀2 ∗ 12 𝑀3

cos(q1) −sin(q1) 0 𝐿1 cos(q2) −sin(q2) 0 𝐿2 cos(q3) −sin(q3) 0 0


sin(q1) cos(q1) 0 0 ] ∗ [ sin(q2) cos(q2) 0 0 ] ∗ [ sin(q3) cos(q3) 0 0]
[
0 0 1 0 0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1
10 𝑀3
−sin(q1)cos(q2)sin(q3) − sin(q1)cos(q3) −sin(q1)cos(q2)cos(q3) + sin(q1)sin(q3) 0 𝐿1
sin(q1)cos(q2)cos(q3) − sin(q1)sin(q3) −sin(q1)cos(q2)sin(q3) − sin(q1)cos(q3) 0 𝐿2 sin(q1)
=[ ]
0 0 1 0
0 0 0 1

Resolución por MatLab de MTH


%METODO MATRICES MTH
clc
clear all

L1=input('Longitud de primer brazo: ');


L2=input('Longitud de segundo brazo: ');
q1=input('Angulo de giro de primera articulacion: ');
q2=input('Angulo de giro de segunda articulacion: ');
q3=input('Angulo de giro de tercera articulacion: ');
x=L1*cosd(q1)+L2*cosd(q2+q1);
y=L1*sind(q1)+L2*sind(q2+q1);
MTH1=[cosd(q1) -sind(q1) 0 L1*cosd(q1);sind(q1) cosd(q1) 0
L1*sind(q1);0 0 1 0;0 0 0 1];
MTH2=[cosd(q2) -sind(q2) 0 L2*cosd(q2);sind(q2) cosd(q2) 0
L2*sind(q2);0 0 1 0;0 0 0 1];
MTH3=[cosd(q3) -sind(q3) 0 0;sind(q3) cosd(q3) 0 0;0 0 1 0;0 0 0 1];
MTHT=MTH1*MTH2*MTH3;
VUVW=[0;0;0;1];
VXYZ=MTHT*VUVW
a=q1+q2+q3;
M=[x;y;a]

Resolución por MatLab de Método Geométrico


%METODO GEOMETRICO
clc
clear all

L1=input('Longitud de primer brazo: ');


L2=input('Longitud de segundo brazo: ');
q1=input('Angulo de giro de primera articulacion: ');
q2=input('Angulo de giro de segunda articulacion: ');
q3=input('Angulo de giro de tercera articulacion: ');
x=L1*cosd(q1)+L2*cosd(q2);
y=L1*sind(q1)+L2*sind(q2);
a=q1+q2+q3;
M=[x;y;a]
IV.2 Se tiene un robot RR en 2 dimensiones como el de la figura. Resuelva el PCD, usando MTH. Si
además se tiene una cámara relacionada con el sistema de referencia base mediante la matriz ROTCA,
determinar (y razonar) los valores de las variables del robot 1 y 2 para alcanzar un objeto detectado
por la cámara en el punto rCA = (0.25, 0.25, 0), con L1 = L2 = 1.

-Posición detectada por la cámara


𝑥 𝑥𝑜𝑏𝑗
[𝑦] = 1 𝑇𝐶𝐴 [𝑦𝑜𝑏𝑗 ]
𝑅𝑜

𝑧 𝑧𝑜𝑏𝑗
𝑥 1 0 0 1 0.25
𝑦
[ ] = [0 1 0 1] [0.25]
𝑧 0 0 1 0 0
1 0 0 0 1 1

𝑥1 = 1.25 ; 𝑦1 = 1.25; 𝑧1 = 0

-Posicionamos el extremo del robot mediante MTH al


punto encontrado
MTH está dada por:

cos(ϴ1) −sin(ϴ1) 0 𝐿1 cos(ϴ2) −sin(ϴ2) 0 𝐿2


𝑀𝑇𝐻 = [ sin(ϴ1) cos(ϴ1) 0 0 ] ∗ [ sin(ϴ2) cos(ϴ2) 0 0]
0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1

-ϴ1=ϴ2=0 en condiciones iniciales


𝑥 𝑥0
[𝑦] = 𝑀𝑇𝐻 [𝑦0 ]
𝑧 𝑧0
𝑥 −sin(ϴ2) ∗ sin(ϴ1) + cos(ϴ2) ∗ cos(ϴ1) −sin(ϴ2) ∗ cos(ϴ1) − sin(ϴ1) ∗ cos(ϴ2) 0 𝐿2 ∗ cos(ϴ1) + 𝐿1 𝐿1 + 𝐿2
𝑦
[ ] = [ sin(ϴ2) ∗ cos(ϴ1) + sin(ϴ1) ∗ cos(ϴ2) −sin(ϴ2) ∗ sin(ϴ1) + cos(ϴ2) ∗ cos(ϴ1) 0 sin(ϴ1)𝐿2 ]∗[ 0 ]
𝑧 0 0 1 0 0
1 0 0 0 1 1

1.25 −sin(ϴ2) ∗ sin(ϴ1) + cos(ϴ2) ∗ cos(ϴ1) −sin(ϴ2) ∗ cos(ϴ1) − sin(ϴ1) ∗ cos(ϴ2) 0 cos(ϴ1) + 1 2
[1.25 ] = [ sin(ϴ2) ∗ cos(ϴ1) + sin(ϴ1) ∗ cos(ϴ2) −sin(ϴ2) ∗ sin(ϴ1) + cos(ϴ2) ∗ cos(ϴ1) 0 sin(ϴ1) ] ∗ [0]
0 0 0 1 0 0
1 0 0 0 1 1

Incógnitas

θ1 = 17.11
θ2 = 55.77
Método geométrico
Tenemos
X => 𝐿1 cos(ϴ1) + 𝐿2 cos(ϴ1 + ϴ2)
Y => L1 sin(ϴ1) + 𝐿2 sin(ϴ1 + ϴ2)
Y la posición que de desea encontrar es x=1.25; y=1.25
1.25 = 1 ∗ cos(ϴ1) + 1 ∗ cos(ϴ1 + ϴ2)
1.25 = 1 ∗ sin(ϴ1) + 1 ∗ sin(ϴ1 + ϴ2)

θ1 = 17.11
θ2 = 55.77

3 Dibujar el esquema (según el libro de Barrientos) del robot entregado por el docente y resolver el PCD
usando el método geométrico y él de las MTH. Determinar los límites mínimo y máximo de los
actuadores y dibujar diferentes localizaciones espaciales para diferentes valores de las variables
articulares, dentro de los límites encontrados. De acuerdo a la determinación de los límites de los
actuadores, delimitar y esquematizar el volumen de trabajo del robot.

Ejemplo:

𝑥 = 𝑙1 cos(𝑞1 ) + 𝑙2 cos(𝑞1 + 𝑞2 )
𝑦 = 𝑙1 sin 𝑞1 + 𝑙2 sin(𝑞1 + 𝑞2 )

𝑝𝑧 𝑙1 sin 𝑞3
𝑞2 = tanh−1 ( ) − tanh−1 ( )
√𝑝𝑧 2 + 𝑝𝑦 2 𝑙2 + 𝑙3 cos(𝑞3 )

√𝑝𝑧 2 + 𝑝𝑦 2
𝑞3 = tanh−1 ( )
cos(𝑞3 )
Trabajo:

𝑟 = 𝑙2 cos(𝑞2 ) + 𝑙3 cos(𝑞2 + 𝑞3 )
𝑥 = 𝑟 ∗ cos 𝑞1
𝑦 = 𝑟 ∗ sin 𝑞1
𝑧 = 𝑙1 + 𝑙2 ∗ sin 𝑞1 + 𝑙3 sin(𝑞2 + 𝑞3 )

[𝑛𝑜𝑎]=𝑅𝑜𝑡𝑧(𝑞1 ) ∗ 𝑅𝑜𝑡𝑦(−𝑞1 −𝑞2 )* 𝑅𝑜𝑡𝑥(𝜋)


0T3=0T1*1T2*2T3

0T1= 𝑅𝑜𝑡𝑧(𝑞1 ) ∗ 𝑇(𝐿1 )


1T2= 𝑅𝑜𝑡𝑋(𝑞2 ) ∗ 𝑅𝑜𝑡𝑦(𝑞2 ) ∗ 𝑇(𝐿2 )
2T3= 𝑅𝑜𝑡𝑋(𝑞3 ) ∗ 𝑅𝑜𝑡𝑦(𝑞3 ) ∗ 𝑇(𝐿3 )
0T3=
𝑅𝑜𝑡𝑧(𝑞1 ) ∗ 𝑇(𝐿1 )* 𝑅𝑜𝑡𝑋(𝑞2 ) ∗ 𝑅𝑜𝑡𝑦(𝑞2 ) ∗
𝑇(𝐿2 )* 𝑅𝑜𝑡𝑋(𝑞3 ) ∗ 𝑅𝑜𝑡𝑦(𝑞3 ) ∗ 𝑇(𝐿3 )

Matlab:
clear all, clc, close all;
A=input('ingrese el L1:'' \n');%se escribe L1
B=input('ingrese el L2:'' \n');%se escribe L1
C=input('ingrese el L3:'' \n');%se escribe L1
L1=A;
L2=B;
L3=C;
figure(4)
for q1=0:0.2:pi%q1 por ser considerado un servomotor tiene como maximo
un giro de 180°
for q2=0:0.2:pi%q2 por ser considerado un servomotor tiene como maximo
un giro de 180°
for q3=0:0.2:pi%q3 por ser considerado un servomotor tiene como maximo
un giro de 180°
r=L2*cos(q2)+L3*cos(q2+q3);
x=r*cos(q1);
y=r*sin(q1);
z=L1+L2*sin(q2)+L3*sin(q2+q3);
plot3(x,y,z,'.b')
hold on
end
end
end
xlabel(' x ');
ylabel(' y ');
zlabel(' z ');
title('Volumen de trabajo del robot')
grid on
4 Dibujar el esquema (según el libro de Barrientos) del robot SCARA de 3 GDL y resolver el PCD usando
el método geométrico y él de las MTH. Para diferentes valores de las variables articulares esquematizar
diferentes localizaciones espaciales. Esquematizar el volumen de trabajo del robot y verificar que las
localizaciones espaciales estén contenidas en el volumen de trabajo.
Cinemática directa:
ℎ2 = 𝐿22 + 𝐿23 − 2 cos(180° − 𝑞2 )
= 𝐿22 + 𝐿23 − 2 cos(𝑞2 )
𝐿23 = 𝐿22 + ℎ2 − 2 𝐿2 hcos(𝛽)
𝐿22 + ℎ2 − 𝐿23
𝛽 = cos −1 ( )
2𝐿2 ℎ
𝑥 = ℎ cos(𝛽 + 𝑞1 )
𝑦 = ℎ sin(𝛽 + 𝑞1 )
𝑧 = 𝐿2 − 𝑞3

Matlab:
clear all, clc, close all;
A=input('ingrese el L1:'' \n');%se escribe L1
B=input('ingrese el L2:'' \n');%se escribe L1
C=input('ingrese el L3:'' \n');%se escribe L1
L1=A;
L2=B;
L3=C;
figure(4)
for q1=0:0.2:pi%q1 por ser considerado un servomotor tiene como maximo
un giro de 180°
for q2=0:0.2:pi%q2 por ser considerado un servomotor tiene como maximo
un giro de 180°
for q3=0:0.2:pi%q3 por ser considerado un servomotor tiene como maximo
un giro de 180°
r=L2*cos(q2)+L3*cos(q2+q3);
x=r*cos(q1);
y=r*sin(q1);
z=L1+L2*sin(q2)+L3*sin(q2+q3);
plot3(x,y,z,'.b')
hold on
end
end
end
xlabel(' x ');
ylabel(' y ');
zlabel(' z ');
title('Volumen de trabajo del robot')
grid on
V. CUESTIONARIO FINAL

V.1. Realice todo el procedimiento anteriormente descrito y presente en un informe el


desarrollo de todos los pasos indicados.

VI. CONCLUSIONES y OBSERVACIONES

 Para encontrar el modelo cinemático directa de un robot, se utilizan los


métodos geométrico y los métodos basados en cambios de base MTH.

 Para usar el método de MTH se tiene que tomar en cuenta el orden al


multiplicar las matrices de rotación o traslación. Sino podría darnos datos
erróneos y no podríamos hacer bien el movimiento del robot.

 El extremo del robot es el punto objetivo en el cual se basa todo el cálculo, ya


sea utilizando el método geométrico o el método por matrices de rotación.

Das könnte Ihnen auch gefallen