Você está na página 1de 10

ROBÓTICA

Uso do MatLab
e Robotic ToolBox

Prof. W E dos Santos


Dpto. de Eletrotécnica - UTFPR

UTFPR 1
Conteúdo
• Uso de arquivo script no MatLab
• Uso de variáveis simbólicas
• Uso do módulo Robotics Toolbox.
• Exemplos de uso

UTFPR 2
Arquivos de Script
• Sempre que possível use arquivos
script.m para realizar as tarefas;
• Inicie scripts com o seguinte cabeçalho:

% comentario descrevendo função do script


clear % limpa workspace das variáveis
clc % limpa tela de comando
close all % fecha todas as janelas

UTFPR 3
Variáveis simbólicas
• Utilize variáveis simbólicas para realizar
operações literais, p.ex., com matrizes:
% Obtenção da cinemática direta de robô 6DOF
syms c1 s1 d1 c2 s2 d2 d3 c4 s4 c5 s5 c6 s6 d6
T1=[c1 0 -s1 0; s1 0 c1 0; 0 -1 0 d1; 0 0 0 1];
T2=[c2 0 s2 0; s2 0 -c2 0; 0 1 0 d2; 0 0 0 1];
T3=[1 0 0 0; 0 1 0 0; 0 0 1 d3; 0 0 0 1];
T4=[c4 0 -s4 0; s4 0 c4 0; 0 -1 0 0; 0 0 0 1];
T5=[c5 0 s5 0; s5 0 -c5 0; 0 1 0 0; 0 0 0 1];
T6=[c6 -s6 0 0; s6 c6 0 0; 0 0 1 d6; 0 0 0 1];
T=T1*T2*T3*T4*T5*T6

UTFPR 4
Módulo Robotics ToolBox
• Pacote de ferramentas para robótica
desenvolvido por Peter Corke para o
MatLab.
• Onde obter:
http://petercorke.com/Robotics_Toolbox.html
• Compatibilidade: MatLab 2011a
• Versão recomendada: 9.8

UTFPR 5
Instruções iniciais
• Faça download do arquivo compactado e do
arquivo de instruções
• Descompactar os arquivos na pasta toolbox
(junto com as demais bibliotecas do matlab),
p.ex.:
– C:\Program Files\MATLAB\R2010a\toolbox\rvctoolbox
• Ao iniciar o MatLab inclua a pasta com sub-
pastas no path
• Para obter ajuda com os comandos utilize:
– help <nome da função>
– helpdesk
UTFPR 6
Exemplos de uso
• Representação de translação e rotação
• T1 = transl(0.5, 0.0, 0.0)
• T2 = transl(0.5, 0.0, 0.0) * troty(pi/2)
• trplot(T2)
• T = T1 * trotx(1) * troty(1.5) * trotz(2)
• rpy = tr2rpy(T)
• T = T1 * trotz(1) * troty(1.5) * trotz(2)
• tr2eul(T)
UTFPR 7
Criando definições de robôs
• help link
LINK([theta, D, A, alpha, sigma], CONVENTION)
obs. A é o comprimento da junta (ou L)
• L1 = Link([ 0, 0, 1, 0, 0])
• L2 = Link([ 0, 0, 1, 0, 0])
• L = [L1 L2];
• r = SerialLink(L,'name','RoboRR')
• plot(r, [0 0])

UTFPR 8
Usando definições prévias
Exemplo robô PUMA560:
• mdl_puma560
• fkine(p560, qz)
– obs qz, qr e qs são poses pré-definidas
• q = [0 -pi/4 -pi/4 0 pi/8 0]
Cinemática direta:
• T = fkine(p560, q)
• teach(p560)
UTFPR 9
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);
• plot(p560, q)

UTFPR 10