Você está na página 1de 14

INSTITUTO FEDERAL DE EDUCAO, CINCIA E TECNOLOGIA DO

ESPRITO SANTO CAMPUS SERRA

LUIS HENRIQUE KAMKE

CINEMTICA DIFERENCIAL
DE ROBS MANIPULADORES

SERRA
2014

LUIS HENRIQUE KAMKE

CINEMTICA DIFERENCIAL
DE ROBS MANIPULADORES

Relatrio apresentado disciplina de


Robtica Industrial, do curso de Engenharia
de Controle e Automao, do Instituto
Federal de Educao, Cincia e Tecnologia
do Esprito Santo, como requisito parcial
para avaliao na referida disciplina.
Orientador: Prof. Felipe Nascimento

SERRA
2014

RESUMO
O relatrio apresenta o desenvolvimento das questes relacionadas ao 4
laboratrio da disciplina Robtica Industrial, referentes ao assunto de cinemtica
diferencial de robs manipuladores.

SUMRIO
1
1.1

Introduo ........................................................................................................................ 5
Objetivos ........................................................................................................................ 5

Atividades Realizadas ..................................................................................................... 6

Concluses ...................................................................................................................... 13

Referncias ............................................................................................................................ 14

INTRODUO

A cinemtica diferencial permite obter a relao entre as evolues temporais das


coordenadas no espao das juntas e das coordenadas no espao de trabalho do manipulador. Ou
seja, estuda a relao entre as velocidades nos dois espaos, representada pela matriz Jacobiana.
Alm de evidenciar a relao de velocidades entre os espaos das juntas e cartesiano, uma anlise
da matriz Jacobiana permite avaliar condies de movimentao do manipulador em dada posio,
atravs do clculo do ndice de manipulabilidade e da existncia de condio singular. (Roteiro do

Lab. 4).

1.1 Objetivos
Utilizar o Robotics Toolbox para MATLAB para compreender e exercitar os conceitos
de cinemtica diferencial, relao de velocidades, singularidade e manipulabilidade de robs
manipuladores. (Descrio do roteiro)

ATIVIDADES REALIZADAS

----------------------------- 1 --------------------------startup_rvc
mdl_puma560
%foram carregadas as variveis
%deg, p560, qn, qr, qs, qz, tbpath.
%A matriz de transformao homognea de cinemtica direta obtida
%pela funo T = p560.fkine(qn), onde qn a condio na qual o
% rob se encontra.
T0 = p560.fkine(qn)
figure, plot(p560,qn)

----------------------------- 2 --------------------------%Matriz de transf. homognea para a configurao de qn + [dq 0 0 0 0 0],


%que representa uma perturbalai infinitesimal na junta 1.
dq=1e-6
q21= qn + [dq 0 0 0 0 0]
Tp21= p560.fkine(q21)
%Como a variao muito pequena alterou-se a qtd de casas decimais para
%verificar se dq causou alguma influncia na posio do rob.
%
%format long
%
% T0 =
%
%
-0.000000000000000
%
-0.000000000000000
%
-1.000000000000000
%
0
% Tp21 =
%
%
-0.000000000000000
%
-0.000000000000000
%
-1.000000000000000
%
0
%

0.000000000000000
1.000000000000000
-0.000000000000000
0

1.000000000000000
-0.000000000000000
-0.000000000000000
0

0.596303148574616
-0.150050000000000
-0.014354267658087
1.000000000000000

-0.000001000000000
0.999999999999500
-0.000000000000000
0

0.999999999999500
0.000001000000000
-0.000000000000000
0

0.596303298624317
-0.150049403696776
-0.014354267658087
1.000000000000000

%Comparando as duas matrizes observamos que houve alterao na matriz


%responsvel pela tranf. de rotao. Logo a anlise foi suportada.

----------------------------- 3 --------------------------dTdq31 = (Tp21 - T0)/dq


% dTdq1 =
%
%
0
%
-0.0000
%
0
%
0

-1.0000
-0.0000
0
0

-0.0000
1.0000
0
0

0.1500
0.5963
0
0

% As duas primeiras linhas da ltima coluna mostram que houve variao


da
% posio do efetuador em relao a variao da junta nos eixos x e y
apenas.

7
----------------------------- 4 --------------------------q42= qn + [0 dq 0 0 0 0]
Tp42= p560.fkine(q42)
dTdq42 = (Tp42 - T0)/dq
q43= qn + [0 0 dq 0 0 0]
Tp43= p560.fkine(q43)
dTdq43 = (Tp43 - T0)/dq
q44= qn + [0 0 0 dq 0 0]
Tp44= p560.fkine(q44)
dTdq44 = (Tp44 - T0)/dq
q45= qn + [0 0 0 0 dq 0]
Tp45= p560.fkine(q45)
dTdq45 = (Tp45 - T0)/dq
q46= qn + [0 0 0 0 0 dq]
Tp46= p560.fkine(q46)
dTdq46 = (Tp46 - T0)/dq
%Quando adicionamos dq ao segundo e terceiro eixo percebemos que s houve
%variao do efetuador no eixo x e z. J quando variamos os eixos 4, 5 e 6
%no se alterou a posio do efetuador. Esse resultado coerente j que os
%eixos 4,5 e 6 apenas influenciam na orientao do efetuador e no na
%posio.

%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%

dTdq42 =
1.0000
0.0000
0.0000
0

-0.0000
0
0.0000
0

-0.0000
0.0000
1.0000
0

0.0144
0
0.5963
0

-0.0000
0
0.0000
0

-0.0000
0.0000
1.0000
0

0.3197
0
0.2910
0

0.7071
-0.0000
0.7071
0

-0.0000
-0.7071
-0.0000
0

0
0
0
0

-0.0000
0
0.0000
0

-0.0000
0.0000
1.0000
0

0
0
0
0

0.0000

dTdq43 =
1.0000
0.0000
0.0000
0
dTdq44 =
0.0000
0.7071
0.0000
0
dTdq45 =
1.0000
0.0000
0.0000
0
dTdq46 =
0.0000

8
%
%
%

1.0000
0.0000
0

-0.0000
1.0000
0

0
0
0

0
0
0

----------------------------- 5 --------------------------dRdq51 = dTdq31(1:3, 1:3) % Extrai a submatriz de derivada de rotao


R5 = T0(1:3, 1:3) % Extrai a submatriz de rotao de T0
S5 = dRdq51 * R5' % Calcula matriz com velocidades angulares
vex(S5) % Calcula as velocidades angulares em torno de X, Y e Z.
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%

dRdq51 =
0
-0.0000
0

-1.0000
-0.0000
0

-0.0000
1.0000
0

0.0000
1.0000
-0.0000

1.0000
-0.0000
-0.0000

-1.0000
-0.0000
0

0.0000
0.0000
0

R5 =
-0.0000
-0.0000
-1.0000
S5 =
-0.0000
1.0000
0
ans =
-0.0000
0.0000
1.0000

----------------------------- 6 --------------------------dRdq62 = dTdq42 (1:3,1:3);


S62 = dRdq62 * R5';
vex(S62)
% ans =
%
%
0.0000
%
-1.0000
%
0.0000
%Velocidade de rotao apenas no eixo y
dRdq63 = dTdq43 (1:3,1:3);
S63 = dRdq63 * R5';
vex(S63)
% ans =
%

9
%
%
%

-0.0000
-1.0000
0.0000

%Velocidade de rotao apenas no eixo y


dRdq64 = dTdq44 (1:3,1:3);
S64 = dRdq64 * R5';
vex(S64)
% ans =
%
%
0.7071
%
-0.0000
%
-0.7071
%Velocidade de rotao apenas no eixo x e z.
dRdq65 = dTdq45 (1:3,1:3);
S65 = dRdq65 * R5';
vex(S65)
% ans =
%
%
0.0000
%
-1.0000
%
0.0000

%Velocidade de rotao apenas no eixo y.


dRdq66 = dTdq46 (1:3,1:3);
S66 = dRdq66 * R5';
vex(S66)
% ans =
%
%
1.0000
%
-0.0000
%
-0.0000
%Velocidade de rotao apenas no eixo x.

----------------------------- 7 --------------------------J7 = p560.jacob0(qn)


% J7 =
%
%
0.1501
%
0.5963
%
0
%
0
%
0.0000
%
1.0000

0.0144
0.0000
0.5963
0.0000
-1.0000
0.0000

0.3197
0.0000
0.2910
0.0000
-1.0000
0.0000

0
0
0
0.7071
-0.0000
-0.7071

0
0
0
0.0000
-1.0000
0.0000

0
0
0
1.0000
-0.0000
-0.0000

%As 6 juntas do rob so representadas pelas colunas, as 3 primeiras linhas

10
%referem-se as velocidades translacionais do efetuador nos eixos x, y e z
%respectivamente. J as 3 ltimas so referentes as velocidades rotacionais
%tambm em relao aos eixos x, y e z.

----------------------------- 8 --------------------------% Essa submatriz 3x3 nula refere-se as velocidades translacionais das
% juntas 4,5 e 6. Tais valores so nulos pois essas juntas no realizam
% movimentos translacionais no efetuador, apenas rotacionais.

----------------------------- 9 --------------------------J9 = p560.jacob0(qn,'eul')


%
%
0.1501
0.0144
0.3197
%
0.5963
0.0000
0.0000
%
0
0.5963
0.2910
%
1.0000
0.0000
0.0000
%
0.0000
-1.0000
-1.0000
%
-0.0000
0.0000
0.0000

0
0
0
-0.7071
-0.0000
0.7071

0
0
0
0.0000
-1.0000
0.0000

0
0
0
0.0000
0
1.0000

%No jacobiano geomtrico a matriz de transf. uma funo da


configurao
%do manipulador, enquanto no jacobiano analtico a matriz uma funo
das
%variveis de junta. Tal diferena percebida nas 3 ultimas linhas.

----------------------------- 10 --------------------------JN10 = p560.jacobn(qn)


% JN10 =
%
%
-0.0000
%
0.5963
%
0.1500
%
-1.0000
%
-0.0000
%
-0.0000

-0.5963
0.0000
0.0144
0
-1.0000
0.0000

-0.2910
0.0000
0.3197
0
-1.0000
0.0000

0
0
0
0.7071
-0.0000
0.7071

0
0
0
0
-1.0000
0.0000

0
0
0
0
0
1.0000

%Podemos observar que a diferena entre as matrizes se deve ao fato de


que
%a funo jacob0 usa como referncia a base do rob e a jacobn as
%coordenadas do efetuador.

----------------------------- 11 --------------------------Jinv11 = inv(J7)


qd = inv(J7)*[0 0.2 0 0 0 0]';
qd'
% Jinv11 =
%
%
0
%
-1.5606
%
3.1982
%
0

1.6770
0.3927
-0.8048
2.3716

-0.0000
1.7146
-0.0770
-0.0000

0
0
-0.0000
-0.0000

0.0000
-0.0000
0.0000
-0.0000

0
-0.0000
0.0000
-1.4142

11
%
%
%

-1.6376
0

0.4121
-1.6770

-1.6376
0.0000

-0.0000
1.0000

-1.0000
0.0000

0.0000
1.0000

%Abaixo segue a contribuio de velocidade de cada junta na obteno do


movimento
%linear de 0,2 m/s.
% ans =
%
%
0.3354

0.0785

-0.1610

0.4743

0.0824

-0.3354

----------------------------- 12 --------------------------J12 = p560.jacob0(qr)


R = rank(J12)
% J12 =
%
%
0.1500
%
0.0203
%
0
%
0
%
0
%
1.0000
%
%
% R =
%
%
5

-0.8636
0.0000
0.0203
0
-1.0000
0.0000

-0.4318
0.0000
0.0203
0
-1.0000
0.0000

0
0
0
0
0
1.0000

0
0
0
0
-1.0000
0.0000

0
0
0
0
0
1.0000

figure,p560.plot(qr)
%Calculando o posto da matriz para a posio qr chegamos a R=5, ou seja,
%existe uma singularidade que causou a perda de um grau de liberdade.
%O mesmo pode ser observado abaixo na configurao de qz.
J122 = p560.jacob0(qz)
R2 = rank(J122)
figure,p560.plot(qz)
% J122 =
%
%
0.1500
%
0.4521
%
0
%
0
%
0
%
1.0000
%
%
% R2 =
%
%
5

-0.4318
0.0000
0.4521
0
-1.0000
0.0000

-0.4318
0.0000
0.0203
0
-1.0000
0.0000

0
0
0
0
0
1.0000

0
0
0
0
-1.0000
0.0000

0
0
0
0
0
1.0000

12
----------------------------- 13 --------------------------J13_qr = p560.jacob0(qr);
m13_qr = sqrt(det(J13_qr*J13_qr'))
% m13_qr =
%
%
0
J13_qn = p560.jacob0(qn);
m13_qn = sqrt(det(J13_qn*J13_qn'))
% m13_qn =
%
%
0.0786
J13_qz = p560.jacob0(qz);
m13_qz = sqrt(det(J13_qz*J13_qz'))

% m13_qz =
%
%
0
qr13 = qr + [0 0 0 0 0.01 0];
J13_qr13 = p560.jacob0(qr13);
m13_qr13 = sqrt(det(J13_qr13*J13_qr13'))
% m13_qr13 =
%
%
1.7794e-06
%De acordo com os resultados encontrados, pudemos confirmar que qr e qz
%esto em estado de singularidade e o novo qr apresenta valor muito pequeno
%praticamente na mesma condio. Apenas qn tem um valor satisfatrio do
%ndice de manipulabilidade, apresentando uma condio no singular.

13

CONCLUSES

As ferramentas do Matlab foram aplicadas com sucesso nas questes envolvendo a


cinemtica diferencial. O objetivo de compreender e exercitar os conceitos de cinemtica
diferencial foi alcanado utilizando em conjunto o Matlab e a teoria apresentada em aula.

14

REFERNCIAS
CORKE, Peter. Robotics: Vision and Control. Captulo 7. Springer, 2011.
SANTOS, Vtor M. F. Robtica Industrial. Captulo 5.Universidade de Aveiro, 2003-2004.

Você também pode gostar