ET79F Robotic ToolBox Rev

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