Você está na página 1de 8

TUTORIAL – ROBOTICS TOOLBOX

1! INTRODUÇÃO
!
! Tutorial referente à Toolbox de robótica para Matlab desenvolvida por Peter Corke
que está disponível sob licença LGPL. Essa Toolbox permite a modelagem e controle de
robôs industriais e facilita o aprendizado dos parâmetros de Denavit-Hartenberg para o
estudo acadêmico.

2! INSTALAÇÃO
!
! Deve-se! fazer!o! download!mediante! cadastro! no! site: (http://petercorke.com/
Robotics_Toolbox.html).! O! arquivo! obtido! deve!ser extraído, resultando na
pasta ʻʼrobotʼʼ que deve ser movida para a pasta de trabalho do Matlab (usualmente Meus
Documentos/MATLAB).
! Uma vez movida a pasta, deve-se abrir o Matlab e adicionar tal pasta para que faça
parte da área de trabalho do Matlab de forma definitiva, para isso deve-se acessar o
menu File -> Set Path...

Figura 1 – Adicionando-se diretório padrão no Matlab.

! Em seguida seleciona-se a opção ʻʼAdd Folder...ʼʼ e busca-se a pasta ʻʼrobotʼʼ


extraída anteriormente. Após confirmar, a pasta irá aparecer na lista de diretórios padrão,
para concluir a adição basta clicar no botão ʻʼSaveʼʼ.

Figura 2 – Confirmando adição da pasta.

ARTHUR SCHULER DA IGREJA! 1


3 PLOTAR UM ROBÔ MODELADO

A modelagem dos robôs através dos parâmetros de Denavit-Hartenberg


!seguem
Pode-se fechar aordem:
a seguinte janela em seguida.

3! PLOTAR UM ROBÔ MODELADO

! A modelagem dos robôs através dos parâmetros de Denavit-Hartenberg seguem a


seguinte ordem (exemplo):

Link ALFAi Ai Өi Di
Figura 3 – Exemplo de robô com 2 graus de liberdade.
1 0 1 Ө1 0
Nota-se
2 que se trata
0 de um robô com1 2 juntas rotacionais
Ө2 em função0 da
grandeza ! estar expressa como variável.
* No manual que acompanha a Toolbox a ordem dos parâmetros está demonstrada como
(am alfa, d, theta)
Deve-se sendo que
descrever estájunta
cada incorreto.
como um vetor:
!
!>> L1=link([0
Nota-se que 1 0se trata
0 0], de um robô com 2 juntas rotacionais em função da grandeza Ө
'standard')
estar expressa como variável. Deve-se descrever cada junta como um vetor:
>> L2=link([0 1 0 0 0], 'standard')
>> L1=link([0 1 0 0 0], 'standard')
Onde 1 as
>> L2=link([0 4 'standard')
0 0 0], primeiras posições do vetor indicam os parâmetros
cinemáticos e o 5 indica se a junta é rotacional (0) ou prismática (1).
! Onde as 4 primeiras posições do vetor indicam os parâmetros cinemáticos e a 5
indica se a junta
Uma vez édeclaradas
rotacional (0) ou prismática
as juntas, faz-se (1). O parâmetro
a união ʻstandardʼ demonstra que
de todas:
se está utilizando a notação padrão de D&H.
!>> r=robot({L1
Uma vez declaradas
L2}) as juntas, faz-se a união de todas:

>> r=robot({L1 L2}); a declaração do robô:


Para verificar

!>> r Para verificar a declaração do robô:

>> r Obtendo-se:

r=

noname (2 axis, RR)

grav = [0.00 0.00 9.81] standard D&H parameters

alpha A theta D R/P

0.000000 1.000000 0.000000 0.000000 R (std)

0.000000 1.000000 0.000000 0.000000 R (std)

! Ou seja, indica-se que o robô tem 2 eixos, ambos rotacionais, é demonstrada a


matriz de parâmetros D&H, que a gravidade será considerada como 9.81 e está
!"#$%"&'($%)*"&+,&-."*/,& 01.23,&4&
localizada
! no eixo ʻʼzʼʼ.
! Para plotar o primeiro robô no espaço de trabalho:

>> plot(r, [0 0])

ARTHUR SCHULER DA IGREJA! 2


>> plot(r,Para
[0 0])
plotar o primeiro robô no espaço de trabalho:

>> plot(r, [0 0])

Figura 4 – Robô com 2 graus de liberdade plotado.


Figura
Figura 44 –– Robô com 22 graus
Robô com grausde
deliberdade
liberdadeplotado.
plotado.
Os valores dos vetores indicam a posição angular de cada junta, por
! Os valores
exemplo, Os dos
para vetores
valores
plotardos indicam
coma
vetores
o robô aposição
indicam a angular
segunda junta de
posição cada
angular
com junta,
de cada
diferença por exemplo,
junta,
angular por90para
de
plotar oexemplo,
robô compara
a segunda
plotar o junta comadiferença
robô com segunda angular
junta comdediferença
90 grausangular
em relação
de 90à
graus em relação à primeira:
primeira:
graus em relação à primeira:
>> plot(r, [0 90])
>> plot(r,
>>[0 90]) [0 90])
plot(r,

Figura 5 – Mesmo robô com deslocamento na segunda junta.


Figura 5 – Mesmo robô com deslocamento na segunda junta.
Figura 5 – Mesmo robô com deslocamento na segunda junta.
4! GERAÇÃO DE TRAJETÓRIA PARA O ROBÔ MODELADO

! Considerando-se o robô modelado no exemplo anterior, deve-se declarar o vetor


com as!"#$%"&'($%)*"&+,&-."*/,&
posições iniciar para as juntas: 01.23,&4&
!"#$%"&'($%)*"&+,&-."*/,&
! 01.23,&4&
!
>> posic_inicial=[0,0];

! Em seguida, declarar o vetor com as posições finais para cada junta:

>> posic_final=[pi/2,-pi/2];

! Ou seja, a primeira junta de rotação terá um movimento de 0 até 90 graus e a


segunda junta terá um movimento de 0 até -90 graus.
! Em seguida deve-se usar o comando ʻʼjtrajʼʼ para gerar a trajetória para cada junta:
ARTHUR SCHULER DA IGREJA! 3
Em seguida deve-se usar o comando ‘’jtraj’’ para gerar a trajetória para
cada junta:

>> trajetoria=jtraj(posic_inicial,posic_final,400);
>> trajetoria=jtraj(posic_inicial,posic_final,400);
Onde o último parâmetro (400) denota o tempo de movimento, ou seja,
! quando
Onde o menor o parâmetro
último parâmetro maisdenota
(400) veloz o
será a simulação.
tempo de movimento, ou seja, quando
menor o parâmetro mais veloz será a simulação.
! Para visualizar
Para visualizar o robôomovimentando
robô movimentando executa-se
executa-se o comando:
o comando:
>> plot(r,trajetoria);
>> plot(r,trajetoria);

Figura 66 –– Posição
Figura Posição inicial
inicial do
do robô.
robô.

!"#$%"&'($%)*"&+,&-."*/,& 01.23,&4&
!

Figura 7 – Posição final do robô.


Figura 6 – Posição final do robô.
5! EXEMPLO DE MODELAGEM
!
! Segue exemplo de modelagem utilizando-se da metodologia de D&H para um robô
com 4 graus de liberdade conforme visto na Figura (8).

ARTHUR SCHULER DA IGREJA! 4


Figura 8 – Robô proposto para a modelagem.

! Trata-se de um robô com volume de trabalho cilíndrico, com um movimento


rotacional na base (q1) seguido de um movimento prismático na horizontal (q2) seguido
de um movimento prismático na vertical (q3) e que possui um movimento rotacional no
efetuador (q4). Para efeito de simulação considerou-se a altura da estrutura (distância
entre x0 e x1 como tendo 2 unidade de comprimento).

! O sistemas de coordenadas foram posicionados respeitando as seguintes regras:

- Eixo ʻʼzʼʻposicionado ao longo do eixo de movimento, ou seja, para movimentos


rotacionais é o eixo onde imagina-se o motor que realizará o movimento acoplado. Para
movimentos prismáticos é o eixo ao longo da onde acontece o estiramento do
mecanismo, por exemplo, para um cilindro pneumático o eixo ʻʼzʼʻ está na direção da
haste.
- Eixo ʻʼxʼʻposicionado perpendicular ao eixo ʻʼzʼʻarbitrariamente para o sistema de
coordenadas da origem. Para demais sistemas de coordenadas, deve ficar
perpendicular ao eixo ʻʼzʼʼ do movimento anterior e também perpendicular ao eixo ʻʼzʼʼdo
movimento atual. Para casos de eixos ʻʼzʼʼem paralelo, copia-se a direção do eixo ʻʼxʼʼdo
sistema de coordenadas anterior;
- Eixo ʻʼyʼʻposicionado perpendicular aos eixos ʻʼzʼʼ e ʻʼxʼʼ;

5.1! MODELAGEM D&H


!
! A modelagem segue o algoritmo de D&H conforme visto na página 204 do livro
Princípios de Mecarônica de João Maurício Rosário, presente em anexo neste
documento. O resultado da modelagem é visto na tabela que segue:

ARTHUR SCHULER DA IGREJA! 5


LINK ALFAi Ai Өi Di

1 -pi/2 0 Ө1 1

2 -pi/2 0 0 d2

3 0 0 0 d3

4 0 0 Ө4 0

! Segue declaração do robô no Matlab:

%alpha a theta D R/P


L{1} = link([-pi/2 0 0 2 0],'standard');
L{2} = link([-pi/2 0 0 0 1],'standard');
L{3} = link([0 0 0 0 1],'standard');
L{4} = link([0 0 0 0 0],'standard');

>> modelo = robot(L,'Robô cilíndrico');

! Segue declaração da geração de trajetória, pode-se observar que apenas um


movimento é realizado por vez:

q1 = [0 0 0 0];
q2 = [pi/2 0 0 0];
q3 = [pi/2 pi/2 0 0];
q4 = [pi/2 pi/2 pi/2 0];
q5 = [pi/2 pi/2 pi/2 pi/2];

[u1]=JTRAJ(q1, q2, 50)


[u2]=JTRAJ(q2, q3, 50)
[u3]=JTRAJ(q3, q4, 50)
[u4]=JTRAJ(q4, q5, 50)

! Plotar a animação do modelo:

figure
plot(modelo, u1);
plot(modelo, u2);
plot(modelo, u3);
plot(modelo, u4);

ARTHUR SCHULER DA IGREJA! 6


Figura 9 – Robô cilíndrico ao fim da simulação.

ARTHUR SCHULER DA IGREJA! 7


ANEXO 1 - ALGORITMO DE DENAVIT-HARTENBERG

ARTHUR SCHULER DA IGREJA! 8