Distancia de Fortaleza as Municipios do Ceara Das Cidades MaisCeará
ET79F_RoboticToolBox
-
Upload
joao-paulo-silva-goncalves -
Category
Documents
-
view
215 -
download
0
description
Transcript of ET79F_RoboticToolBox
UTFPR 1
Prof. W E dos Santos
Dpto. de Eletrotécnica - UTFPR
Uso do módulo
Robotic ToolBox
ROBÓTICA
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}
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
UTFPR
Comandos e convenções
4
UTFPR
Comandos e funções
5
UTFPR
Comandos e funções
6
UTFPR
Comandos e funções
7
UTFPR
Comandos e funções
8
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
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
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
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
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
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
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
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
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
UTFPR
Exercício
• Para o robot Stanford, já
estudado anteriormente,
faça os itens solicitados.
18
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
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