Vous êtes sur la page 1sur 17

ROBTICA

Uso do mdulo
Robotic ToolBox
Prof. W E dos Santos
Dpto. de Eletrotcnica - UTFPR

UTFPR

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 <nome da funo>
helpdesk

Utilize sempre um arquivo de script (.m)


para executar seus exerccios
UTFPR

Comandos e convenes

UTFPR

Comandos e funes

UTFPR

Comandos e funes

UTFPR

Comandos e funes

UTFPR

Comandos e funes

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)
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])

UTFPR

10

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)
UTFPR

11

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)
UTFPR

12

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)
UTFPR

13

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,:)))

UTFPR

14

Exerccio
Para o rob Stanford:

UTFPR

15

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

UTFPR

16

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.
UTFPR

17

Vous aimerez peut-être aussi