Upload
ernane-freitas
View
6
Download
0
Embed Size (px)
DESCRIPTION
ET79F Robotic ToolBox Rev
Citation preview
UTFPR 1
Prof. W E dos Santos
Dpto. de Eletrotcnica - UTFPR
Uso do mdulo
Robotic ToolBox
ROBTICA
UTFPR 2
Contedo Introduo ao pacote de ferramentas para
robtica desenvolvido por Peter Corke para
o MatLab.
Onde obter: http://petercorke.com
Compatibilidade: MatLab 6 (ou+recente)
Referencia: Author = {P.I. Corke},Journal = {IEEE Robotics and Automation
Magazine},Month = nov,Number = {4},Pages = {16-25},Title =
{Machine Vision Toolbox},Volume = {12},Year = {2005}
UTFPR
Instrues iniciais
Descompactar os arquivos numa pasta
Ao iniciar o MatLab inclua a pasta no path
Para obter ajuda no MatLab utilize os comandos:
help
helpdesk
Utilize sempre um arquivo de script (.m) para executar seus exerccios
3
UTFPR
Comandos e convenes
4
UTFPR
Comandos e funes
5
UTFPR
Comandos e funes
6
UTFPR
Comandos e funes
7
UTFPR
Comandos e funes
8
UTFPR
Exemplos de uso
Representao de translao e rotao
T = transl(0.5, 0.0, 0.0)
T = transl(0.5, 0.0, 0.0) * troty(pi/2)
tr2eul(T)
obs. sequncia zvw
rpy = tr2rpy(T)
obs. retorna sequncia de Rz+Ry+Rx (RPY) diferente da vista nas aulas: Rx+Ry+Rz (YPR)
9
UTFPR
Criando definies de robs
help link
LINK([alpha A theta D sigma], CONVENTION)
L1=link([0 1 0 0 0])
L2=link([0 1 0 0 0])
r=robot({L1 L2})
plot(r, [0 0])
10
UTFPR
Usando definies prvias
Puma560
obs qz, qr e qs so poses pr-definidas
plot(p560, qr)
fkine(p560, qz)
q = [0 -pi/4 -pi/4 0 pi/8 0]
T = fkine(p560, q)
qi = ikine(p560, T)
drivebot(p560)
11
UTFPR
Cinemtica diferencial
q = [0.1 0.75 -2.25 0 .75 0]
J = jacob0(p560, q)
vel = [0.1; 0; 0; 0; 0; 0]
qvel = inv(J) * vel
Jr = jacob0(p560, qr) obs.brao esticado
det(Jr) obs. J=0 singularidade
rank(Jr)
12
UTFPR
Criando trajetrias
t = [0:.056:2]
q = jtraj(qz, qr, t)
Abaixo grfico do movimento de q2 e q3
subplot(2,1,1); plot(t,q(:,2))
subplot(2,1,2); plot(t,q(:,3))
[q,qd,qdd] = jtraj(qz, qr, t)
Ttg=fkine(p560, q)
subplot(3,1,1); plot(t, squeeze(Ttg(1,4,:)))
subplot(3,1,2); plot(t, squeeze(Ttg(2,4,:)))
subplot(3,1,3); plot(t, squeeze(Ttg(3,4,:)))
subplot(1,1,1); plot(squeeze(Ttg(1,4,:)), squeeze(Ttg(3,4,:)))
plot(p560, q)13
UTFPR
Trajetrias em linha reta
Ti = transl(0.6, -0.5, 0.0)
Tf = transl(0.4, 0.5, 0.0)
Tc = ctraj(Ti, Tf, 20) obs. caminho com 20 pontos
qc = ikine(p560, Tc)
plot(p560, qc)
subplot(1,1,1); plot(squeeze(Tc(1,4,:)), squeeze(Tc(2,4,:)))
14
UTFPR
Exerccio
Para o rob Stanford:
15
UTFPR
Itens do exerccio
1) Crie o modelo StanfRob no toolbox
2) Defina qz=(0 0 0 0 0 0)
Plote o rob em qz
3) Defina um pose final (Tf) desejada em:
Translao de (0.263, 0.263, 0.412)
Acompanhada de rotao em Y de pi/2
4) Calcule a cinemtica inversa para a pose
5) Calcule o Jacobiano do rob nesta pose
16
UTFPR
Itens do exerccio
6) Defina um vetor de tempos
t=(0:0.05:2)
7) Monte a trajetria entre qz e a pose final
Realize a animao grfica da trajetria
8) Para a trajetria anterior:
Plote no grfico a posio das juntas 2 e 3
Plote no grfico a posio X, Y, Z do efetuador
9) Monte agora outra trajetria com movimento em
linha reta entre qz e a pose final
Repita o tem 7
10) Em qual coordenada (X,Y,Z) da trajetria em linha
reta anterior a junta 1 tem seu maior velocidade.
17