Escolar Documentos
Profissional Documentos
Cultura Documentos
! Tutorial referente Toolbox de robtica para Matlab desenvolvida por Peter Corke que est disponvel sob licena LGPL. Essa Toolbox permite a modelagem e controle de robs industriais e facilita o aprendizado dos parmetros de Denavit-Hartenberg para o estudo acadmico. 2! INSTALAO ! ! Deve-se! fazer!o! download!mediante! cadastro! no! site: (http://petercorke.com/ Robotics_Toolbox.html).! O! arquivo! obtido! deve!ser extrado, 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 faa parte da rea de trabalho do Matlab de forma denitiva, para isso deve-se acessar o menu File -> Set Path...
! Em seguida seleciona-se a opo Add Folder... e busca-se a pasta robot extrada anteriormente. Aps conrmar, a pasta ir aparecer na lista de diretrios padro, para concluir a adio basta clicar no boto Save.
A modelagem dos robs atravs dos parmetros de Denavit-Hartenberg !seguem a seguinte a janela em seguida. Pode-se fechar ordem:
3! PLOTAR UM ROB MODELADO
! A modelagem dos robs atravs dos parmetros de Denavit-Hartenberg seguem a seguinte ordem (exemplo):
Link 1
ALFAi 0
Ai 1
!i !1
Di 0
* No manual que acompanha a Toolbox a ordem dos parmetros est demonstrada como (am alfa, d, theta) sendo que est incorreto. um vetor: Deve-se descrever cada junta como ! !>> L1=link([0 1 0se 0], 'standard') Nota-se que 0 trata de um rob com 2 juntas rotacionais em funo da grandeza ! estar expressa como varivel. Deve-se descrever cada junta como um vetor:
Nota-se que se trata de um rob com 2 juntas rotacionais em funo da 2 0 1 !2 0 grandeza ! estar expressa como varivel.
Obtendo-se:
noname (2 axis, RR) grav = [0.00 0.00 9.81] alpha 0.000000 0.000000 A 1.000000 1.000000 theta 0.000000 0.000000 standard D&H parameters D 0.000000 0.000000 R/P R R (std) (std)
! Ou seja, indica-se que o rob tem 2 eixos, ambos rotacionais, demonstrada a matriz de parmetros 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 espao de trabalho: >> plot(r, [0 0])
ARTHUR SCHULER DA IGREJA! 2
Os valores dos vetores indicam a posio angular de cada junta, por ! Os valores dos vetores indicam a posio angular com diferena angular por para Os valores dos vetores indicam a posio angular de cada exemplo, exemplo, para plotar o rob com a segunda junta de cada junta, porjunta, de 90 plotar oexemplo, para plotar o junta com a segunda angular dediferena angular de 90 rob com a segunda rob com diferena junta com 90 graus em relao graus em relao primeira: primeira: graus em relao primeira: >> plot(r, [0 90]) >> plot(r, [0 90]) [0 90]) >> plot(r,
Figura 4 Rob com 2 graus de liberdade plotado. Figura 4 Rob com 2 graus de liberdade plotado. Figura 4 Rob com 2 graus de liberdade plotado.
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!
! Considerando-se o rob modelado no exemplo anterior, deve-se declarar o vetor 01.23,&4& com as!"#$%"&'($%)*"&+,&-."*/,& as juntas: posies iniciar para !"#$%"&'($%)*"&+,&-."*/,& 01.23,&4& >> posic_inicial=[0,0]; ! Em seguida, declarar o vetor com as posies nais para cada junta:
!
!
>> posic_nal=[pi/2,-pi/2]; ! Ou seja, a primeira junta de rotao 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 trajetria para cada junta:
ARTHUR SCHULER DA IGREJA! 3
Em seguida deve-se usar o comando jtraj para gerar a trajetria para cada junta: >> trajetoria=jtraj(posic_inicial,posic_final,400); >> trajetoria=jtraj(posic_inicial,posic_nal,400); Onde o ltimo parmetro (400) denota o tempo de movimento, ou seja, quando menor parmetro (400) denota o tempo de movimento, ou seja, quando ! Onde o ltimo o parmetro mais veloz ser a simulao. menor o parmetro mais veloz ser a simulao. Para visualizar movimentando executa-se o comando: ! Para visualizar o robo rob movimentando executa-se o comando: >> plot(r,trajetoria); >> plot(r,trajetoria);
!"#$%"&'($%)*"&+,&-."*/,& !
01.23,&4&
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).
! Trata-se de um rob com volume de trabalho cilndrico, com um movimento rotacional na base (q1) seguido de um movimento prismtico na horizontal (q2) seguido de um movimento prismtico na vertical (q3) e que possui um movimento rotacional no efetuador (q4). Para efeito de simulao considerou-se a altura da estrutura (distncia entre x0 e x1 como tendo 2 unidade de comprimento). ! O sistemas de coordenadas foram posicionados respeitando as seguintes regras:
- Eixo zposicionado 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 prismticos o eixo ao longo da onde acontece o estiramento do mecanismo, por exemplo, para um cilindro pneumtico o eixo z est na direo da haste. - Eixo xposicionado perpendicular ao eixo zarbitrariamente para o sistema de coordenadas da origem. Para demais sistemas de coordenadas, deve car perpendicular ao eixo z do movimento anterior e tambm perpendicular ao eixo zdo movimento atual. Para casos de eixos zem paralelo, copia-se a direo do eixo xdo sistema de coordenadas anterior; - Eixo yposicionado perpendicular aos eixos z e x;
5.1! MODELAGEM D&H ! ! A modelagem segue o algoritmo de D&H conforme visto na pgina 204 do livro Princpios de Mecarnica de Joo Maurcio Rosrio, presente em anexo neste documento. O resultado da modelagem visto na tabela que segue:
LINK 1 2 3 4
!
Ai 0 0 0 0
!i !1
Di 1 d2 d3 0
0 0
!4
= = = =
a 0 0 0 0
theta 0 0 0 0
D 2 0 0 0
q1 q2 q3 q4 q5
= = = = =
0 0 0 pi/2 pi/2 q2, q3, q4, q5, 50) 50) 50) 50)
5.2! COMANDO DRIVEBOT ! ! Outro recurso interessante provido pela Toolbox o comando drivebot que permite comandar diretamente o rob atravs de uma interface interativa. Basta declarar os parmetros cinemticos do modelo e moviment-lo. ! ! Exemplo prtico para o rob anterior: %alpha link([-pi/2 link([-pi/2 link([0 link([0 a 0 0 0 0 theta 0 0 0 0 D 2 0 0 0 R/P 0],'standard'); 1],'standard'); 1],'standard'); 0],'standard');
= = = =
>> modelo = robot(L,'Rob cilndrico'); ! Em seguida basta utilizar o comando para que o rob seja plotado e a interface de comando aparea no canto da tela. >> drivebot(modelo);
! Caso o usurio mova os valores de q, so geradas tragetrias para cada eixo e acompanha-se em tempo real a movimentao. Nos quadros x, y e z pode-se vericar a posio espacial do efetuador. Caso o rob tenha alguma junta rotacional em seu corpo ou efetuador que causem inclinao, os parmetros ax, ay e az indicam a orientao espacial do efetuador.