Escolar Documentos
Profissional Documentos
Cultura Documentos
Manipuladores Robticos
Disciplina: Robtica
Professor: Luciano Raptopoulos
Aluno: Emerson da Silva Bergossi
Nova Iguau
06 de junho de 2013
ndice
Introduo
Manipulador Antropomrfico
Manipulador Cartesiano
Manipulador Cilndrico
13
Manipulador Esfrico
17
Manipulador Scara
21
Introduo
Os manipuladores exercem importantes funes na indstria (e na sociedade) nos dias
de hoje. Graas preciso, confiabilidade e disponibilidade desses dispositivos, a
indstria se tornou mais competitiva. Diversos produtos e servios se tornaram mais
baratos e confiveis, estimulando o consumo e melhorando a qualidade de vida das
pessoas. Como exemplo, as fbricas de carro. Em princpio, o carro era um produto que
apenas pequena parcela da populao podia comprar. Atualmente, graas robotizao
e automao do processo fabril, os carros so mais democrticos, seguros e
confortveis.
Os manipuladores so divididos pelos critrios das suas caractersticas construtivas.
Falaremos sobre alguns modelos a seguir.
Manipulador Antropomrfico
Esse modelo de manipulador possui trs juntas rotativas. So largamente utilizados nas
indstrias por ter semelhana ao brao do ser humano. O diferencial desse manipulador
sua versatilidade, pois graas as suas caractersticas construtivas, ele pode operar em
ambientes compactos.
Manipular Antropomorfico
do
do
do
do
do
do
primeiro eixo
segundo eixo
terceiro eixo
pulso em x
pulso em y
pulso em z
%
Autor: Emerson Bergossi - 2013/01
%
Reviso:
%
%
> antropomorfico
%% Dados estruturais
syms L1 L2 L3 Lf
Data: 04/06/2013
Data: __/__/____
%% Variveis
syms q1 q2 q3 q4 q5 q6
%% Transformaes entre referenciais
R1_0 =
0 1];
D1_0 =
T1_0 =
R2_1 =
0 1];
D2_1 =
T2_1 =
R3_2 =
0 1];
D3_2 =
T3_2 =
R4_3 =
0 1];
R5_4 =
0 1];
R6_5 =
0 1];
D6_5 =
T6_5 =
T2_0
T3_0
T4_0
T5_0
T6_0
=
=
=
=
=
simplify(T1_0*T2_1);
simplify(T2_0*T3_2);
simplify(T3_0*R4_3);
simplify(T4_0*R5_4);
simplify(T5_0*T6_5);
JL(1,2)
JL(1,4)
JL(2,2)
JL(2,4)
JL(3,2)
JL(3,4)
=
=
=
=
=
=
diff(pf_0(1),q2);
diff(pf_0(1),q4);
diff(pf_0(2),q2);
diff(pf_0(2),q4);
diff(pf_0(3),q2);
diff(pf_0(3),q4);
=
=
=
=
=
=
transpose([0 0 dq1]);
transpose([0 dq2 0]);
transpose([0 0 dq3]);
transpose ([dq4 0 0]);
transpose([0 dq5 0]);
transpose([0 0 dq6]);
%% Rotaes
R2_0
R3_0
R4_0
R5_0
R6_0
=
=
=
=
=
simplify(R1_0(1:3,1:3)* R2_1(1:3,1:3));
simplify(R2_0(1:3,1:3)* R3_2(1:3,1:3));
simplify(R3_0* R4_3(1:3,1:3));
simplify(R4_0* R5_4(1:3,1:3));
simplify(R5_0* R6_5(1:3,1:3));
%% Velocidade angular
w6_0 = simplify(w1_0 + R1_0(1:3,1:3)*w2_1 + R2_0*w3_2 +
R3_0*w4_3 + R4_0*w5_4 + R5_0*w6_5);
%% Jacobiano angular
JA(1,1)
JA(1,3)
JA(1,5)
JA(2,1)
JA(2,3)
JA(2,5)
JA(3,1)
JA(3,3)
JA(3,5)
=
=
=
=
=
=
=
=
=
diff(w6_0(1),dq1);
diff(w6_0(1),dq3);
diff(w6_0(1),dq5);
diff(w6_0(2),dq1);
diff(w6_0(2),dq3);
diff(w6_0(2),dq5);
diff(w6_0(3),dq1);
diff(w6_0(3),dq3);
diff(w6_0(3),dq5);
JA(1,2)
JA(1,4)
JA(1,6)
JA(2,2)
JA(2,4)
JA(2,6)
JA(3,2)
JA(3,4)
JA(3,6)
=
=
=
=
=
=
=
=
=
diff(w6_0(1),dq2);
diff(w6_0(1),dq4);
diff(w6_0(1),dq6);
diff(w6_0(2),dq2);
diff(w6_0(2),dq4);
diff(w6_0(2),dq6);
diff(w6_0(3),dq2);
diff(w6_0(3),dq4);
diff(w6_0(3),dq6);
%% Simulao
syms t
L1 = 0.5;
L2 = 0.5;
L3 = 0.5;
t = linspace(0,10,100);
w1
q1
w2
q2
w3
q3
=
=
=
=
=
=
2*pi/10;
w1*t;
pi;
0.1*sin(w2*t);
0;
w3*t;
p3_0 = eval(T3_0(1:3,4));
figure(1),
subplot(3,1,1), plot(t,p3_0(1,:),'k'), grid on, xlabel('Tempo
[s]'), ylabel('x [m]')
subplot(3,1,2), plot(t,p3_0(2,:),'k'), grid on, xlabel('Tempo
[s]'), ylabel('y [m]')
subplot(3,1,3), plot(t,p3_0(3,:),'k'), grid on, xlabel('Tempo
[s]'), ylabel('z [m]')
Figure 1 Antropomrfico
Manipulador Cartesiano
Esse manipulador de coordenadas cartesianas o anlogo do Antropomrfico. Pois ao
invs de ter trs juntas rotativas, ele possui trs juntas lineares com os deslocamentos
um em relao ao outro. Opera numa regio de trabalho cbico.
%% Dados estruturais
syms Lf
%% Variveis
syms q1 q2 q3 q4
%% Transformaes entre referenciais
T1_0 =
T2_1 =
T3_2 =
R4_3 =
0 1];
D4_3 =
T4_3 =
[1
[1
[1
[1
0
0
0
0
0
0
0
0
q1; 0 1 0 0; 0 0 1 0;
0; 0 1 0 q2; 0 0 1 0;
0; 0 1 0 0; 0 0 1 q3;
0; 0 cos(q4) -sin(q4)
0 0 0 1];
0 0 0 1];
0 0 0 1];
0; 0 sin(q4) cos(q4) 0; 0 0
[1 0 0 Lf; 0 1 0 0; 0 0 1 0; 0 0 0 1];
simplify(R4_3*D4_3);
T2_0 = simplify(T1_0*T2_1);
T3_0 = simplify(T2_0*T3_2);
T4_0 = simplify(T3_0*T4_3);
%% Vetor posio do efetuador
pf_0 = T4_0(1:3,4);
%% Jacobino Linear
JL(1,1) = diff(pf_0(1),q1);
JL(1,3) = diff(pf_0(1),q3);
JL(2,1) = diff(pf_0(2),q1);
JL(2,3) = diff(pf_0(2),q3);
JL(3,1) = diff(pf_0(3),q1);
JL(3,3) = diff(pf_0(3),q3);
JL(1,2)
JL(1,4)
JL(2,2)
JL(2,4)
JL(3,2)
JL(3,4)
=
=
=
=
=
=
diff(pf_0(1),q2);
diff(pf_0(1),q4);
diff(pf_0(2),q2);
diff(pf_0(2),q4);
diff(pf_0(3),q2);
diff(pf_0(3),q4);
=
=
=
=
=
=
diff(w4_0(1),dq1);
diff(w4_0(1),dq3);
diff(w4_0(2),dq1);
diff(w4_0(2),dq3);
diff(w4_0(3),dq1);
diff(w4_0(3),dq3);
JA(1,2)
JA(1,4)
JA(2,2)
JA(2,4)
JA(3,2)
JA(3,4)
=
=
=
=
=
=
diff(w4_0(1),dq2);
diff(w4_0(1),dq4);
diff(w4_0(2),dq2);
diff(w4_0(2),dq4);
diff(w4_0(3),dq2);
diff(w4_0(3),dq4);
10
Figure 2 Cartesiano
11
Manipulador Cilndrico
Esse manipulador tem um ngulo de rotao e dois deslocamentos lineares o primeiro
em Z e outro em X.
12
%% Variveis
syms q1 q2 q3 q4
%% Transformaes entre referenciais
R1_0 =
1];
D1_0 =
T1_0 =
D2_1 =
R3_2 =
0 1];
D3_2 =
T4_2 =
T2_0 = simplify(T1_0*D2_1);
T3_0 = simplify(T2_0*T4_2);
%% Vetor posio do efetuador
pf_0 = T3_0(1:3,4);
%% Jacobino Linear
JL(1,1)
JL(1,3)
JL(2,1)
JL(2,3)
JL(3,1)
JL(3,3)
=
=
=
=
=
=
diff(pf_0(1),q1);
diff(pf_0(1),q3);
diff(pf_0(2),q1);
diff(pf_0(2),q3);
diff(pf_0(3),q1);
diff(pf_0(3),q3);
JL(1,2)
JL(1,4)
JL(2,2)
JL(2,4)
JL(3,2)
JL(3,4)
=
=
=
=
=
=
diff(pf_0(1),q2);
diff(pf_0(1),q4);
diff(pf_0(2),q2);
diff(pf_0(2),q4);
diff(pf_0(3),q2);
diff(pf_0(3),q4);
13
=
=
=
=
=
=
diff(w3_0(1),dq1);
diff(w3_0(1),dq3);
diff(w3_0(2),dq1);
diff(w3_0(2),dq3);
diff(w3_0(3),dq1);
diff(w3_0(3),dq3);
JA(1,2)
JA(1,4)
JA(2,2)
JA(2,4)
JA(3,2)
JA(3,4)
=
=
=
=
=
=
diff(w3_0(1),dq2);
diff(w3_0(1),dq4);
diff(w3_0(2),dq2);
diff(w3_0(2),dq4);
diff(w3_0(3),dq2);
diff(w3_0(3),dq4);
14
Lf = 0.15;
T = linspace(0,1,10);
Q1 = (pi/2*T);
dQ1 = pi/2*ones(1,10);
Q2 = (-pi/2*T);
dQ2 = pi/2*ones(1,10);
Q3 = (0.3 + 0.3*T);
dQ3 = 0.3*ones(1,10);
Q4 = zeros(1,10);
dQ4 = zeros(1,10);
for n=1:1:length(T),
t = T(n);
q1 = Q1(n);
dq1 = dQ1(n);
q2 = Q2(n);
dq2 = dQ2(n);
q3 = Q3(n);
dq3 = dQ3(n);
q4 = Q4(n);
dq4 = dQ4(n);
pfn_0(:,n) = eval(pf_0);
end
t = T;
figure(1),
subplot(3,1,1), plot(t,pfn_0(1,:)), grid on
xlabel('Tempo [min]'), ylabel('Deslocamento X [m]')
subplot(3,1,2), plot(t,pfn_0(2,:)), grid on
xlabel('Tempo [min]'), ylabel('Deslocamento Y [m]')
subplot(3,1,3), plot(t,pfn_0(3,:)), grid on
xlabel('Tempo [min]'), ylabel('Deslocamento Z [m]')
15
Figure 3 - Cilndrico
Manipulador Esfrico
Esse manipulador tem dois ngulos de rotao em seus dois primeiros eixos um em Z
e outro em X e um deslocamento linear no eixo X. recomendado utilizar esses
manipuladores quando se deseja ter alcance e suportar cargas pesadas.
16
T2_0 = simplify(T1_0*T2_1);
T3_0 = simplify(T2_0*T3_2);
T4_0 = simplify(T3_0*T4_3);
%% Vetor posio do efetuador
17
pf_0 = T4_0(1:3,4);
%% Jacobino Linear
JL(1,1) = diff(pf_0(1),q1);
JL(1,3) = diff(pf_0(1),q3);
JL(2,1) = diff(pf_0(2),q1);
JL(2,3) = diff(pf_0(2),q3);
JL(3,1) = diff(pf_0(3),q1);
JL(3,3) = diff(pf_0(3),q3);
JL(1,2)
JL(1,4)
JL(2,2)
JL(2,4)
JL(3,2)
JL(3,4)
=
=
=
=
=
=
diff(pf_0(1),q2);
diff(pf_0(1),q4);
diff(pf_0(2),q2);
diff(pf_0(2),q4);
diff(pf_0(3),q2);
diff(pf_0(3),q4);
=
=
=
=
=
=
transpose([0 0 dq1]);
transpose([0 dq2 0]);
simplify(w1_0 + T1_0(1:3,1:3)*w2_1);
[0 0 0]';
transpose([dq4 0 0]);
simplify(w2_0 + T2_0(1:3,1:3)*w3_2 + T3_0(1:3,1:3)*w4_3);
%% Jacobiano angular
JA(1,1)
JA(1,3)
JA(2,1)
JA(2,3)
JA(3,1)
JA(3,3)
=
=
=
=
=
=
diff(w4_0(1),dq1);
diff(w4_0(1),dq3);
diff(w4_0(2),dq1);
diff(w4_0(2),dq3);
diff(w4_0(3),dq1);
diff(w4_0(3),dq3);
JA(1,2)
JA(1,4)
JA(2,2)
JA(2,4)
JA(3,2)
JA(3,4)
=
=
=
=
=
=
diff(w4_0(1),dq2);
diff(w4_0(1),dq4);
diff(w4_0(2),dq2);
diff(w4_0(2),dq4);
diff(w4_0(3),dq2);
diff(w4_0(3),dq4);
18
dq4 = zeros(1,10);
pfn_0 = eval(pf_0);
figure(1),
subplot(3,1,1), plot(t,pfn_0(1,:)), grid on
xlabel('Tempo [min]'), ylabel('Deslocamento X [m]')
subplot(3,1,2), plot(t,pfn_0(2,:)), grid on
xlabel('Tempo [min]'), ylabel('Deslocamento Y [m]')
subplot(3,1,3), plot(t,pfn_0(3,:)), grid on
xlabel('Tempo [min]'), ylabel('Deslocamento Z [m]')
Figure 4 - Esfrico
19
Manipulador Scara
Utilizado em processos mecnicos e eletrnicos, tem boa preciso e repetibilidade.
Sempre atua na vertical e utilizado em processos de alta presio. Seu nome significa
(em portugus) Brao Robtico de Montagem com Complacncia Seletiva (SCARA).
20
> scara
%% Dados estruturais
syms Lf H L1 L2
%% Variveis
syms q1 q2 q3 q4
%% Transformaes entre referenciais
R1_0 = [cos(q1) -sin(q1) 0 0;sin(q1) cos(q1) 0 0; 0 0 1 0; 0 0 0
1];
D1_0 = [1 0 0 0; 0 1 0 0; 0 0 1 H; 0 0 0 1];
T1_0 = simplify(R1_0*D1_0);
T11_1 = [1 0 0 L1; 0 1 0 0; 0 0 1 0; 0 0 0 1];
R2_11 = [cos(q2) -sin(q2) 0 0;sin(q2) cos(q2) 0 0; 0 0 1 0; 0 0
0 1];
D2_11 = [1 0 0 L2; 0 1 0 0; 0 0 1 0; 0 0 0 1];
T2_11 = simplify(R2_11*D2_11);
T3_2 = [1 0 0 0; 0 1 0 0; 0 0 1 q3; 0 0 0 1];
R4_3 = [1 0 0 0; 0 cos(q4) -sin(q4) 0; 0 sin(q4) cos(q4) 0; 0 0
0 1];
D4_3 = [1 0 0 Lf; 0 1 0 0; 0 0 1 0; 0 0 0 1];
T4_3 = simplify(R4_3*D4_3);
T11_0 = simplify(T1_0*T11_1);
T2_0 = simplify(T11_0*T2_11);
T3_0 = simplify(T2_0*T3_2);
T4_0 = simplify(T3_0*T4_3);
%% Vetor posio do efetuador
pf_0=T4_0(1:3,4);
%% Jacobino Linear
JL(1,1) = diff(pf_0(1),q1);
JL(1,3) = diff(pf_0(1),q3);
JL(2,1) = diff(pf_0(2),q1);
JL(2,3) = diff(pf_0(2),q3);
JL(3,1) = diff(pf_0(3),q1);
JL(3,3) = diff(pf_0(3),q3);
JL(1,2)
JL(1,4)
JL(2,2)
JL(2,4)
JL(3,2)
JL(3,4)
=
=
=
=
=
=
diff(pf_0(1),q2);
diff(pf_0(1),q4);
diff(pf_0(2),q2);
diff(pf_0(2),q4);
diff(pf_0(3),q2);
diff(pf_0(3),q4);
21
%% Jacobiano angular
JA(1,1)
JA(1,3)
JA(2,1)
JA(2,3)
JA(3,1)
JA(3,3)
=
=
=
=
=
=
diff(w4_0(1),dq1);
diff(w4_0(1),dq3);
diff(w4_0(2),dq1);
diff(w4_0(2),dq3);
diff(w4_0(3),dq1);
diff(w4_0(3),dq3);
JA(1,2)
JA(1,4)
JA(2,2)
JA(2,4)
JA(3,2)
JA(3,4)
=
=
=
=
=
=
diff(w4_0(1),dq2);
diff(w4_0(1),dq4);
diff(w4_0(2),dq2);
diff(w4_0(2),dq4);
diff(w4_0(3),dq2);
diff(w4_0(3),dq4);
22
%% Simulao
syms t
Lf = 0.4;
L1 = 0.5;
L2 = 0.5;
H = 0.5;
t = linspace(0,10,100);
w1 = 2*pi/10;
q1 = w1*t;
w2 = pi;
q2 = 0.1*sin(w2*t);
q3 = 1 - 0.4*t;
dq3 = 0.4*ones(1,10);
q4 = zeros(1,10);
dq4 = zeros(1,10);
p3_0 = eval(T3_0(1:3,4));
figure(1),
subplot(3,1,1), plot(t,p3_0(1,:),'k'), grid on, xlabel('Tempo
[s]'), ylabel('x [m]')
subplot(3,1,2), plot(t,p3_0(2,:),'k'), grid on, xlabel('Tempo
[s]'), ylabel('y [m]')
subplot(3,1,3), plot(t,p3_0(3,:),'k'), grid on, xlabel('Tempo
[s]'), ylabel('z [m]')
Figure 5 - Scara
23