ET79F_RoboticToolBox

20
UTFPR 1 Prof. W E dos Santos Dpto. de Eletrotécnica - UTFPR Uso do módulo Robotic ToolBox ROBÓTICA

description

dddd

Transcript of ET79F_RoboticToolBox

Page 1: ET79F_RoboticToolBox

UTFPR 1

Prof. W E dos Santos

Dpto. de Eletrotécnica - UTFPR

Uso do módulo

Robotic ToolBox

ROBÓTICA

Page 2: ET79F_RoboticToolBox

UTFPR 2

Conteúdo• Introdução ao pacote de ferramentas para

robótica 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}

Page 3: ET79F_RoboticToolBox

UTFPR

Instruções iniciais

• Descompactar os arquivos na pasta robot:– C:\Program Files\MATLAB\R2010a\toolbox\robot

• Ao iniciar o MatLab inclua a pasta no path

• Para obter ajuda utilize os comandos:

– help <nome da função>

– helpdesk

• Utilize sempre um arquivo de script (.m)

para executar seus exercícios

3

Page 4: ET79F_RoboticToolBox

UTFPR

Comandos e convenções

4

Page 5: ET79F_RoboticToolBox

UTFPR

Comandos e funções

5

Page 6: ET79F_RoboticToolBox

UTFPR

Comandos e funções

6

Page 7: ET79F_RoboticToolBox

UTFPR

Comandos e funções

7

Page 8: ET79F_RoboticToolBox

UTFPR

Comandos e funções

8

Page 9: ET79F_RoboticToolBox

UTFPR

Exemplos de uso

• Representação de translação e rotação

T = transl(0.5, 0.0, 0.0)

T = transl(0.5, 0.0, 0.0) * troty(pi/2)

trplot(T)

– sugestão: crie uma matriz para repreentar a

referencia:

T0 = transl(0, 0, 0)

trplot(T0)

9

Page 10: ET79F_RoboticToolBox

UTFPR

Criando definições de robôs

• Através da função LINK (obs. veja: help link)

LINK([alpha A theta D sigma], CONVENTION)

L1=link([0 1 0 0 0], ’standard’)

L2=link([0 1 0 0 0], ’standard’)

r=robot({L1 L2})

plot(r, [0 0])

10

Page 11: ET79F_RoboticToolBox

UTFPR

Usando definições prévias

• Vários robôs prédefnidos (ex.: puma560)

puma560

• Cinemática direta pode ser obtida a partir

de um conjunto de coordenads de junta:

q1 = [0 -pi/4 -pi/4 0 pi/8 0]

fkine(p560, q1)

fkine(p560, qz)

– obs qz, qr e qs são poses pré-definidas

11

Page 12: ET79F_RoboticToolBox

UTFPR

Cinemática Inversa

• Cinemática inversa pode também pode

ser calcula (obs. numericamente):

q = [0 -pi/4 -pi/4 0 pi/8 0]

T = fkine(p560, q)

qi = ikine(p560, T)

• É possível visualizar uma nimação 3D

com acionamento das juntas do robô:

drivebot(p560)

12

Page 13: ET79F_RoboticToolBox

UTFPR

Cinemática diferencial

• Pode-se calcular o Jacobiano a partir de

um conjunto de coordenadas de juntas:

q = [0.1 0.75 -2.25 0 .75 0]

J = jacob0(p560, q)

• Exemplo de uso:

• vel = [0.1 0 0 0 0 0]’

• qvel = inv(J) * vel

13

Page 14: ET79F_RoboticToolBox

UTFPR

Cinemática diferencial

• Um determinante do Jacobiano igual a

zero indica a ocorrência de singularidade:

J=jacob0(p560, qr) obs. qr => braço esticado

det(J)

• Neste caso o rank é menor do que 6:

rank(J)

• A redundância é vista pelo espaço nulo:

n = null(J) obs. Juntas 4 e 6 redundantes

14

Page 15: ET79F_RoboticToolBox

UTFPR

Criando trajetórias

• t = [0:.056:2]’;

• q = jtraj(qz, qr, t);

• Abaixo gráfico 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);

15

Page 16: ET79F_RoboticToolBox

UTFPR

Criando trajetórias

• Para descrever uma trajetória deve-se

especificar um vetor de instantes de

tempos:

t = [0:.056:2]’

• Com este vetor se estabelece a trajetório

entre a pose inicial e a pose final:

q = jtraj(qz, qr, t)

• E para visualizr o movimento animado:

plot(p560, q)

16

Page 17: ET79F_RoboticToolBox

UTFPR

Criando trajetórias

• Para visualizar um gráfico do movimento

das juntas (p.ex. q2 e q3)

subplot(2,1,1); plot(t,q(:,2))

subplot(2,1,2); plot(t,q(:,3))

• As velocidades e acelerações podem ser

conhecidas pelo comando:

[q,qd,qdd] = jtraj(qz, qr, t)

17

Page 18: ET79F_RoboticToolBox

UTFPR

Exercício

• Para o robot Stanford, já

estudado anteriormente,

faça os itens solicitados.

18

Page 19: ET79F_RoboticToolBox

UTFPR

Itens do exercício

1) Crie o modelo no toolbox

• d1=6; d2=2; d6=3

2) Defina qz=(0 0 0 0 0 0 0)

• Plote o robô em qz

3) Defina qr=(0 pi/2 0 pi/2 0 0 0)

• Plote o robô em qr

4) Anime a trajetória qz-qr

• t=(0:0.05:2)

5) Plote as curvas de:

• Posição e Velocidade de junta

19

Page 20: ET79F_RoboticToolBox

UTFPR

Itens do exercício

6) Encontre os valores de

máxima aceleração por junta

7) Obtenha a cinemática inversa (qn)

• Na coordenada (x=-5,y=2,z=8)

8) Anime a trajetória qr-qn

• t=(0:0.05:2)

9) Plote as coordenadas (x,y,z) de qr-qn

10) Encontre o jacobiano para qr

• Que juntas interferem em Vz e Wx ?

20